Entwickler-Ecke

WinForms - CharIndex in TextBox


garfi - Sa 02.07.05 19:07
Titel: CharIndex in TextBox
Mich würde interessieren, wie man in einer TextBox den CharIndex der MAUS-position bestimmen kann. In einer richtextbox geht das ja komfortabel mit richtextbox1.GetCharIndexFromPosition(p).
Auch würde ich gerne die Funktion
richtextbox1.GetPositionFromCharIndex(charpos);
in einer TEXTbox vervenden.

Moderiert von user profile iconChristian S.: Zweite Frage entfernt
Moderiert von user profile iconChristian S.: Topic aus .NET verschoben am Sa 17.09.2005 um 22:30


Delete - Sa 02.07.05 21:58

Versuch´s mal mit "SelectionStart". Wenn nichts markiert ist, liefert dir die Methode die Cursorposition. Mangels Delphi.NET ein Beispiel mit CSharp ;)

C#-Quelltext
1:
2:
3:
4:
5:
void Button1Click(object sender, System.EventArgs e)
{
  int cursorPos = textBox1.SelectionStart;
  textBox1.Text = textBox1.Text.Insert(cursorPos, "Hallo!");
}


Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt


garfi - Mo 11.07.05 22:00

ich meine den index des Zeichens, das sich unter dem MAUS-Zeiger befindet, nicht der des Cursors!


Metrik - Mi 02.11.05 20:09

Hallo

Ich weiss nicht, was du damit meinst?

Zitat:

ich meine den index des Zeichens, das sich unter dem MAUS-Zeiger befindet, nicht der des Cursors!



C#-Quelltext
1:
2:
3:
4:
void Button1Click(object sender, System.EventArgs e)  
{  
   UseWaitCursor = true
}

So etwas?

Drück dich bitte klarer aus !

Metrik


garfi - Mo 07.11.05 14:33

Ich veranschauliche das Problem mit einem Bild. Der Pfeil befindet sich über dem 'X'. nun möchte ich im Programm feststellen können, über welchem Buchstaben sich die Maus befindet. Ich suche eine Funktion, die mir den Index 15 zurückliefern kann, da es sich um den 16.Buchstaben in der Textbox handelt. Da hilft mir natürlich selectionstart nicht weiter...