Zeilenumbruch nach einer bestimmten Länge in einem RichtText / richTextBox,
hier nach 30 Zeichen:
var maxChars = 30; // max lenght to break line on a word add a "-"
private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
try
{
if (richTextBox1.Lines != null && e.KeyChar != (char)Keys.Back && e.KeyChar != (char)Keys.Delete)
{
var countL = richTextBox1.Lines.Count() - 1;
var intCharFirstOfLine = richTextBox1.GetFirstCharIndexOfCurrentLine();
var lineFromActualFirstChar = richTextBox1.GetLineFromCharIndex(intCharFirstOfLine);
var lineActuell = richTextBox1.Lines[lineFromActualFirstChar];
if (lineActuell.Length > maxChars)
{
char lineActuellLastChar = lineActuell[(lineActuell.Length - 1)];
if (char.IsWhiteSpace(lineActuellLastChar) || e.KeyChar == (char)Keys.Space || e.KeyChar.ToString() == (""))
{
richTextBox1.AppendText(Environment.NewLine);
e.Handled = true;
}
else
{
richTextBox1.AppendText("-" + Environment.NewLine);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine("fail " + ex.ToString());
}
}

