我试图弄清楚这是否有可能。当有人在多行文本框中单击(或实际上是双击)时,我很想知道他们双击了哪些line []项目。我知道我将lines []数组作为Windows窗体文本框的属性之一,这很酷,但是当他们双击时,有什么可以告诉我当时鼠标所在的索引是什么?
最佳答案
使用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