Pozice kurzoru v textboxu   zodpovězená otázka

VB.NET, WinForms

Zdravím, poradíte mi někdo, jak zjisti pozici kurzoru v textboxu?

Mám na myslim číslo řádku, v němž je kurzor a také číslo symbolu na ktarém se nachází. Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud Vám stačí absolutní pozice caretu v textboxu a netrváte na samostatném číslu řádku a sloupce, můžete zkusit

Label1.Text = TextBox1.SelectionStart

Totéž můžete použít i zpětně:

'nastaví caret na začátek textu
textbox1.SelectionStart = 0

' nastaví caret za poslední znak textu
textbox1.SelectionStart = textbox1.Text.Length

' případně cokoliv mezi

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

No mne spíše zajímá ta konkrétní pozice na řádku i textu, napadlo mne hodnoty SelectionStart atp. Dělit počtem řádků, ale zaprvé je to nespolehlivé a za druhé neelegantní.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Což tedy zkusit

label1.Text = TextBox1.GetLineFromCharIndex(TextBox1.SelectionStart)
        Label2.Text = TextBox1.SelectionStart - TextBox1.GetFirstCharIndexOfCurrentLine

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Děkuji, funguje.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback