-2
私はVB.Netを使用している初心者です。フォームがあり、外部クラスモジュールを使用して、フォーム上のすべてのコントロールの イベントを処理する必要があります。 このクラスにパラメータ・フォームのみを渡すことで、これをどのように行うことができますか? ありがとうございました。クラスモジュールからVB.netフォーム上のすべてのコントロールのイベントを処理します
私はVB.Netを使用している初心者です。フォームがあり、外部クラスモジュールを使用して、フォーム上のすべてのコントロールの イベントを処理する必要があります。 このクラスにパラメータ・フォームのみを渡すことで、これをどのように行うことができますか? ありがとうございました。クラスモジュールからVB.netフォーム上のすべてのコントロールのイベントを処理します
ちょっと混乱した後に - これが動作します。
イベントハンドリングクラスは、メインフォームファイルの末尾にあるEnd Class
の後ろに、すべてのイベント処理コード(または別のファイル)で作成してください。重要ではありません。新しいクラスのすべてのサブプログラムがsharedキーワードで宣言されている限り、 - これは
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Shown
AddHandler Button1.Click, AddressOf otherclass.test2
End Sub
だから今のように - - あなたのメインのコードでは、この
Friend Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Shown
End Sub
End Class
Public Class OtherClass
Public Shared Sub test2(sender As Object, e As EventArgs)
MessageBox.Show("hi")
End Sub
End Class
のように、あなたがイベントにあなたの他のクラスのコードをサブスクライブするのAddHandlerを使用する必要があり、上記のコードに基づいて、ボタンをクリックすると、メッセージボックスが表示されます。こんにちは
すべてのイベント、または特定のイベントのみが表示されますか?フォーム上のすべてのコントロールは公開された 'Controls'プロパティを介して公開されているので、それらのすべてをループし、それぞれのイベントハンドラを追加するのは比較的簡単です。入れ子にされたコントロールがある場合は、少し難しくなりますが、まだ実行可能です。しかし、*すべての*イベントを処理したい場合、それはいくらかの反映を必要とします。 –
あなたは実際の問題が解決しようとしていることを説明してください。 –