그래서 쉬운 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())
가 나는 인 selectionchanged 이벤트가 _batInputs에 BatInputLine의 모든 인스턴스에 의해 제기 될 때마다) (하위 프로 시저를 호출합니다. 처리기를 작성하려고하면 Sub doSometing (Object, e EventArgs처럼 보낸 사람)을 처리합니다. _batInputs (0) .SelectionChanged _batInput 요소를 WithEvents 한정자로 선언해야한다는 오류가 표시되지만 그들을 어떻게하는지 잘 압니다.
a) 모든 인덱스에 WithEvents 한정자가있는 경우이 배열을 어떻게 선언 할 수 있습니까?
b) 이러한 이벤트가 발생할 때 호출되는 새 프로 시저 인 하위 프로 시저를 어떻게 할당 할 수 있습니까?
귀하의 질문에 ... '배열이 선언되었습니다'와 함께, BatInputLine 클래스의 배열을 의미합니까? 뭐죠? 배열의 모든 이벤트를 처리합니까? – Lectere
죄송합니다, 예 BaTInputLines의 배열이며 SelectionChanged 이벤트가 _batInputs()의 BatInputLine 인스턴스에 의해 발생 될 때마다 하위 프로 시저를 호출하려고합니다. 처리기를 작성하려고하면 Sub doSometing (Object, e EventArgs처럼 보낸 사람)을 처리합니다. _batInputs (0) .SelectionChanged _batInput 요소를 WithEvents 한정자로 선언해야한다는 오류가 표시되지만 그들 모두를 위해 그것을하는 방법을 아주 잘 알아라! –