Využij akce až 30 % zdarma při nákupu e-learningu. Více informací. Zároveň je tento týden sleva až 80 % na e-learning týkající se C# .NET
Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
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ý
Redaktor
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
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
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.