いつもお世話になってます。
ユーザコントロールのオブジェクト渡しについて質問です。
まず、ユーザコントロールからフォームを表示させています。
このときに、フォームに対して自分自身のオブジェクト(Me)を渡しています。
次にフォームから、ユーザコントロールに対して処理する際は表示に渡されたオブジェクトのメソッドを呼び出しています。
しかし、オブジェクト渡しをしていると(ByRefでもByValでも)、先にユーザコントロールが終了してしまったら、
フォームにユーザコントロールのオブジェクトが残っているので、ユーザコントロールのTerminateが処理されません。
但し、Excelにて使用する際のみの現象で、VBで使用する際は問題ないです。
ちなみに、ユーザコントロールオブジェクトの解放はフォームのTerminateで行っています。
フォームに対してオブジェクトを渡さない方法でユーザコントロールのメソッドを呼ぶ方法はありますか?
オブジェクト渡しをやめて、WithEventsを使用することにしました。
WithEventsを使用することにしました。
ツイート | ![]() |