所以我有一个类,它包含一些用于简单 UI 设计的控件,并且它有一个自定义事件,只要面板内的组合框发生更改,就会引发该事件:
Public Class BatInputLine
Inherits System.Windows.Forms.Panel
Public Event SelectionChanged As EventHandler
Protected Overridable Sub OnSelectionChanged(ByVal e As EventArgs)
RaiseEvent SelectionChanged(Me, e)
End Sub
Private Sub NameSet(sender As Object, e As EventArgs)
Handles_cboName.SelectedIndexChanged
PlayerName = _playerNames(_cboName.SelectedIndex)
SelectedIndex = _cboName.SelectedIndex
OnSelectionChanged(EventArgs.Empty)
End Sub
声明了一个数组,用户根据他们在新表单的屏幕上需要的数量输入一个数字。
ReDim _batInputs(GetNumberOfbatsmen())
每当 _batInputs() 中的任何 BatInputLine 实例引发 SelectionChanged 事件时,我都想调用一个子过程。如果我尝试编写一个处理程序,例如 sub doSometing(sender as Object, e As EventArgs) Handles _batInputs(0).SelectionChanged 我收到一条错误消息,指出需要使用 WithEvents 修饰符声明 _batInput 元素,但我没有很知道怎么做。
a) 我如何声明这个数组,其中所有索引都获得 WithEvents 修饰符?
b)如何分配一个在引发这些事件时调用的子过程,它是新形式的?