VB.NET,你点击了哪个文本框行?

时间:2012-02-22 10:38:32

标签: vb.net

我正在试图弄清楚这是否可行。当有人在我的多行文本框中点击(或实际上,双击)时,我希望能够找出他们双击的哪些行[]项目。我知道我有行[]数组作为我的Windows窗体文本框的属性之一,这有点酷,但是当他们双击时,有什么能告诉我当时哪个索引在他们的鼠标下?

1 个答案:

答案 0 :(得分:7)

使用GetCharIndexFromPosition()方法查找单击的字符。然后GetLineFromCharIndex()获取包含该字符的行。像这样:

Private Sub TextBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As MouseEventArgs) Handles TextBox1.MouseDoubleClick
    Dim pos = TextBox1.GetCharIndexFromPosition(e.Location)
    Dim line = TextBox1.GetLineFromCharIndex(pos)
    Debug.Print("You double-clicked line #{0}", line + 1)
End Sub