Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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.

Aktivity
Avatar
roks
Člen
Avatar
roks:23.9.2013 20:05

Zdravím, vedel by mi niekto poradiť, ako spraviť, aby keď stlačím Enter v RichTextBox-e aby mi zistilo, či v predošlom riadku bol použitý na začiatku riadku tab, ak áno tak koľkokrát a aby mi po Enter-i spravilo v ďalšom riadku toľko "tabov" koľko potrebujem. Teda stačí mi, iba ako zistím, že koľko tabov sa v predošlom riadku nachádza a pridal to do kódu. :)

 
Odpovědět
23.9.2013 20:05
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na roks
Jan Vargovský:23.9.2013 21:33
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 .)

 
Nahoru Odpovědět
23.9.2013 21:33
Avatar
roks
Člen
Avatar
Odpovídá na Jan Vargovský
roks:23.9.2013 21:54

Vďaka, už si to pretvorím podľa seba :)

 
Nahoru Odpovědět
23.9.2013 21:54
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.