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

Adr*_*ian 2 vb.net

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

Han*_*ant 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
Run Code Online (Sandbox Code Playgroud)