クラスで個々のイベント処理を託す
ここに載せてあるソースコードは、参考のために載せてあります
サンプルコードは、一番下にLZHとしてあります
Option Explicit 'たった7行の記述だけで 'クラスにそのイベント処理を託すことができます 'だだし、フォームに指定のコントロールを配置しないと 'クラスは正常に処理しません 'このクラスの利点としては、 ' "フォームのソースコード内がイベント処理で埋もれるのを防げる" 'という利点があります '他にイベント処理コードで埋もれるのを防ぐ方法として 'イベント用の関数を作成するという方法もあります 'イベント処理クラスを生成します Private m_Class1 As New Class1 'From1イベント用クラス Private m_Class2 As New Class2 'Command1イベント用クラス 'このFrom_Initializeイベントを使用している理由は 'From1のForm_Loadイベント内で 'Set m_Class1.SetEventsFrom = Me 'をしても 'Class1でFrom_Loadイベントを '受け取るには遅すぎるためです。(既に発生してしまっているため) '簡単にいうとFrom1のFrom_Loadイベントの方が 'm_Class1のm_Form_Loadイベントよりも '先にイベントが発生してしまうためです。 'From_Loadイベントなどは特殊で一度しか発生しないイベントですから 'From_Initializeイベントで 'SetEventsFromプロパティの設定をしているというわけです。 Private Sub Form_Initialize() Set m_Class1.SetEventsForm = Me Set m_Class2.SetEventsCommandButton = Me.Command1 End Sub |