tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル [解決] ユーザイベントを持つ不定個のクラス
投稿日: 2008/04/20(Sun) 09:04
投稿者ダンボ
Hongliang さん、ゆうき さん、どうもありがとうございます。

> For i = 0 to n
>   Pics(i) = New PicClass
>   AddHandler Pics(i).イベント, AddressOf イベントハンドラ
> next i
で、当面の問題は解決しました。ちょっと初歩的な知識不足だったようで恥。
「VB中学校」さんにも行って再確認してきました。
http://homepage1.nifty.com/rucio/main/dotnet/Samples151/Sample178EventHandle.htm
Handles キーワードと AddHandler ステートメントの2つの方法がある理由のひとつは
この場合のように不定個のインスタンス(動的に生成されるインスタンス)も扱えるように
するためだったんですね。なんで2通りあるかあまり考えていなかった。。。

PicClassのインスタンスはTableLayoutPanelGridに格納して、以後TableLayoutPanelGridの行・列番号で
アクセスします。従ってPics(i)というオブジェクト変数は、このプログラムでは必要ないんです。
TableLayoutPanelGrid.Controls.Add(New PicClass(画像ファイルパス), 2, 1)
TableLayoutPanelGrid.GetControlFromPosition(2, 1)
のような感じです。
ユーザイベントだけのために変数を設定するのもなんだかなぁと思って質問しました。
Pics(i)の部分をTableLayoutPanelGrid.Controlsで表現すれば、特にPics(i)という
オブジェクト変数を作らなくても行けますね。

> ・オブジェクトインスタンスは必ずオブジェクト変数に割り付けなければならないのか?
> ・ユーザイベントは必ず対応したオブジェクト変数でしか受け取れないか?

答えはいずれもノーということで。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。