クラス内でコントロールのイベントは記述できますか?


社内で勉強会  2005-01-28 18:38:16  No: 119246

年明けから社内でVB.NETの勉強会を始めた初心者なので、見当違いな質問になっていたら申し訳ありません。

Private AAA As System.Windows.Forms.Label
Public Sub New(ByVal BBB As System.Windows.Forms.Label)
    AAA = BBB
End Sub

↑のような始まりでクラスを作成した場合、このクラス内でAAAに対して通常フォームモジュールでPrivate Sub Label1_Click…といった感じで記述するようなClickやMouse〜等のイベント処理を記述することは可能でしょうか?


じゃんぬねっと  URL  2005-01-28 20:18:54  No: 119247

コントロール自体がクラスですから、質問内容自体がおかしい気もします。
まあ、言いたいことは判るのですけども。(^-^;)

WithEvents など、まあハンドラを使えば良いわけですね。
これは VB6 でも同じですね。

# まあ、OOP を考えた時、カスタムコントロールでなければお勧めできませんが。


社内で勉強会  2005-01-28 22:30:24  No: 119248

WithEventsですか…。参加者(勉強会)全員が元は技術の人間ではないので参考書片手にヘルプを見ても、実際のコーディングにどう反映させればいいのかって感じです。初心者すぎて大変恐縮です。

上記クラスですが
フォームロードの際に実装すればフォーム側では意識(記述)することなくマウスが通過(Move,Leave)するたび色がコロコロ変わる…みたいな事できるかな?と思ったんですがクラス作成の勉強としてあまり意味ないですかね?

データのリスト画面などで表示行数だけラベル(上記クラス実装)を貼り、リスト上でマウスカーソルを上下すると追いかけるような形で色が変わっていくと面白いねというまさに初心者チックな発想からきた次第です。

長文になってしまい申し訳ありません。


.net初心者  2005-01-29 09:03:02  No: 119249

ヘルプで「Dim ステートメント, 構文」を参照してください。
そうすれば少なくともどこにWithEventsキーワードを入れればいいのかわかるでしょう。
次にヘルプで「WithEvents キーワード, チュートリアル」を参照して下さい。
WidthEventsキーワードをともなって宣言されたオブジェクト変数のイベントをどのように処理すればよいか分かるはずです。

私も.netをはじめて間もないです。お互いがんばりましょう。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加