- PR -

WithEvent変数とHandleについて

1
投稿者投稿内容
rin5673
会議室デビュー日: 2004/11/21
投稿数: 1
投稿日時: 2004-11-21 15:24
Frined Buttons() As System.Windows.Forms.Button
...
Private Sub Buttons_MouseEnter(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles Buttons.MouseEnter

ボタンを配列で宣言して、そのボタンに上のようにイベントをつけようとしたところ次のようなエラーが出ました。

"HANDLES句には、WihtEvents変数が必要です。"

それで、ボタンの宣言のところをFriendから、Friend WithEventsにしようとしたところ、WithEvents型は配列では有効ではないとエラーが出ました。
どうすればよいでしょうか?
一つ一つのボタンをWithEvents型として扱うしかないのでしょうか?
どなたかアドバイスをお願いします。
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2004-11-21 18:58
引用:

rin5673さんの書き込み (2004-11-21 15:24) より:
"HANDLES句には、WihtEvents変数が必要です。"

それで、ボタンの宣言のところをFriendから、Friend WithEventsにしようとしたところ、WithEvents型は配列では有効ではないとエラーが出ました。
どうすればよいでしょうか?
一つ一つのボタンをWithEvents型として扱うしかないのでしょうか?
どなたかアドバイスをお願いします。



Handles句を使うなら、配列ではなく一つ一つのボタンを宣言し、WithEventsを付ける必要があります。
例えば、Button1〜Button3があって、それぞれをWithEvents付きで宣言し、
Handles Button1.MouseEnter, Button2.MouseEnter, Button3.MouseEnter
のように定義し、
配列変数Buttonsは別途定義しておいて、フォームのロードイベントで、
Buttons = New Button(){Button1, Button2, Button3}
のようにセットして配列として使うか、
あるいは、WithEvents/Handlesを使わずに、
AddHandlerで動的にイベントを扱いましょう。
1

スキルアップ/キャリアアップ(JOB@IT)