我有一个富文本框,其中包含英文段落到猪拉丁语的翻译,当我将鼠标悬停在此文本框中的任何单词上时,该单词会暂时更改为原始单词并同时突出显示。
所以,我现在一步一步地采取它现在第一步是获取鼠标位置的字符索引,然后获取索引的字符。但不幸的是,第一步不起作用:(。这是代码。
Private Sub TransRTBox_MouseMove(sender As Object, e As MouseEventArgs) Handles TransRTBox.MouseMove
GetWordUnderMouse(TransRTBox, e.Location.X, e.Location.Y)
End Sub
Friend Sub GetWordUnderMouse(ByRef Rtf As System.Windows.Forms.RichTextBox, x As Integer, y As Integer)
Dim point As New Point(x, y)
Dim pos As Integer
Dim ltr As String
point.X = x
point.Y = y
pos = Rtf.GetCharIndexFromPosition(point)
ltr = Rtf.Text.Chars(pos)
MessageBox.Show(ltr)
End Sub
问题是它总是返回第一个字母而且pos总是等于0,无论鼠标指向或悬停在哪里,任何人都能帮助我吗?
答案 0 :(得分:-1)
您需要说Dim point As New Point(x,y)
,因为该点未被实例化