Jag skulle vilja får reda på vilket ord som textmarkören är i. Tex. om man har ordet te|st då är ju markören mellan E och S. Fins det något sätt att kunna föreda på vilket ord markören befinnersig. Har ingen utvecklingsmiljö i närheten att testa på, men du borde kunna göra något i stil med att kolla markörens position (borde finnas en property för det). Sedan tar du reda på det närmsta mellanslaget innan den positionen och det närmsta mellanslaget eller punkten efter. Däremellan har du ordet. Detta funkar om man använder musen: Till slut så hitta jag hur man hitta var text-markören befinner sig med. <b>Till slut så hitta jag hur man hitta var text-markören befinner sig med. </b>markera ord i richTextBox
Ordet blir ju markerat om man dubbelklickar på det. Men jag vill kunna ta reda på vad det är för ord genom enkelklick eller bara genom att flytta textmarkören.
Finns det något sätt att faka ett dubbelklick?
Sorry för en luddig förklaring men hoppas ni förstår.Sv: markera ord i richTextBox
/JohanSv:markera ord i richTextBox
private void richTextBox1_Click(object sender, EventArgs e)
{
int caret = richTextBox1.SelectionStart;
while (caret-- > 0 && richTextBox1.Text[caret] != ' ') ;
string word = richTextBox1.Text.Substring(++caret).Split(' ')[0];
selectedWord.Text = word;
}
Sv: markera ord i richTextBox
<code>
int tempChar = richTextBox1.GetCharIndexFromPosition(new Point(e.X, e.Y));
string vDelimiters = ".!?, ";
bool delemiter = false;
int i = 0;
string partword = "";
while (delemiter==false)
{
switch (richTextBox1.Text.Substring(tempChar - i, 1))
{
case ".":
{
delemiter=true;
break;
}
case "!":
{
delemiter=true;
break;
}
case "?":
{
delemiter=true;
break;
}
case ",":
{
delemiter=true;
break;
}
case " ":
{
delemiter=true;
break;
}
}
partword = richTextBox1.Text.Substring(tempChar-i, 1) + partword;
i++;
if ((tempChar-i)<0)
{
break;
}
}
</code>
Hur gör jag samma sak om jag flyttar muspekaren? tex. flyttar muspekaren med hjälp av pil-upp tangenten.Sv:markera ord i richTextBox
Det var lättare än jag trodde.
<code>
int start = richTextBox1.SelectionStart; //ger efter hur många tecken som markören är i texten
Point pt;
pt = richTextBox1.GetPositionFromCharIndex(start);
int poiterPosition = richTextBox1.GetCharIndexFromPosition(pt); //get X,Y kordinaterna som markören är på.
</code>Sv: markera ord i richTextBox
Det visade jag ju med mitt exempel ovan :S