闪烁行的事件在文本框中移动

时间:2014-08-02 14:53:32

标签: c# .net winforms

我一直在想如何在文本框中移动闪烁线时触发事件。 我希望此事件包含该行当前(行,列)位置的信息。 例如,如果我从0开始并按Enter键3次,我怎样才能得到该线的新坐标?

很抱歉,如果我没有尽可能清楚地解释这个问题。

感谢。

2 个答案:

答案 0 :(得分:0)

我假设通过闪烁的线你的意思是“光标”! 文本框内容被视为纯字符串,因此有一个名为SelectionStart的属性,您可以使用它来查看光标所在的位置。

像 -

  int blinkingLinePos = myBigTextBox.SelectionStart;

答案 1 :(得分:0)

如果您使用键盘移动插入符号,则您要查找的事件包括KeyUpKeyDown事件。

以下是计算当前光标位置的代码:

private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
    int posInText = textBox1.SelectionStart;
    int lineNr = textBox1.GetLineFromCharIndex( posInText );
    int posInLine = textBox1.SelectionStart - textBox1.GetFirstCharIndexFromLine(lineNr);
}

如果您通过点击鼠标更改位置,则可以在ClickMouseClick事件中使用相同的代码。