更改鼠标悬停事件的文本

时间:2014-12-14 16:05:35

标签: vb.net

我有一个富文本框,其中包含英文段落到猪拉丁语的翻译,当我将鼠标悬停在此文本框中的任何单词上时,该单词会暂时更改为原始单词并同时突出显示。

所以,我现在一步一步地采取它现在第一步是获取鼠标位置的字符索引,然后获取索引的字符。但不幸的是,第一步不起作用:(。这是代码。

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,无论鼠标指向或悬停在哪里,任何人都能帮助我吗?

1 个答案:

答案 0 :(得分:-1)

您需要说Dim point As New Point(x,y),因为该点未被实例化