Diskuze: RichTexBox klávesa enter
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
int tabCount = 0;
int line = richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart) - 1;
string s = richTextBox1.Lines[line];
string tabs = string.Empty;
while (tabCount < s.Length)
{
if (s[tabCount] != '\t')
break;
tabCount++;
}
var tempLines = richTextBox1.Lines;
for (int i = 0; i < tabCount; i++)
tabs += "\t";
tempLines[line +1] = tabs + tempLines[line+1];
richTextBox1.Lines = tempLines;
int shift = 0;
for (int i = 0; i <= line; i++)
{
shift += richTextBox1.Lines[i].Length +1;
}
richTextBox1.SelectionStart = shift + richTextBox1.Lines[richTextBox1.Lines.Count() -1].Length;
}
}
Není to geniální, ale musíš si to upravit podle možností, dá se to napsat na pár řádků, ale když odřádkováváš třeba uprostřed textu + za tím textem něco je, tak už je to trošku složitější. Snad pomůže .)
Zobrazeno 3 zpráv z 3.