如何召集活动?

时间:2014-01-24 20:50:43

标签: vb.net scintilla

当我的CharAdded添加了文字时,如何调用scintilla Text window事件。我试过添加这个:

  Private Sub Scintilla_CharAdded(ByVal sender As System.Object, ByVal e As ScintillaNet.CharAddedEventArgs) Handles Scintilla1.CharAdded
        CType(TabControl1.SelectedTab.Controls.Item(0), Scintilla).AutoComplete.Show()
    End Sub

但它只在我的表单中在设计文件中实现Scintilla窗口时调用。但是,当我像这样实现它时,我需要工作:

Dim TextInput As New Scintilla

当它没有直接放在我的设计师中时,可以调用此事件吗?

感谢。

1 个答案:

答案 0 :(得分:2)

如果您想使用Handles关键字,可以将TextInput定义为表单的字段(表单级别的变量,在任何方法之外)。然后,您需要将WithEvents修饰符添加到变量声明中,如下所示:

Public Class MyForm
    Private WithEvents TextInput As New Scintilla

    Private Sub Scintilla_CharAdded(sender As Object, e As ScintillaNet.CharAddedEventArgs) Handles TextInput.CharAdded
        ' ...
    End Sub
End Class

如果您无法将其定义为表单的字段,那么您将无法使用Handles关键字。在这种情况下,您需要使用AddHandlerRemoveHandler命令向对象注册事件处理程序。