タイトル | : [解決] ユーザイベントを持つ不定個のクラス |
記事No | : 7370 |
投稿日 | : 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)という オブジェクト変数を作らなくても行けますね。
> ・オブジェクトインスタンスは必ずオブジェクト変数に割り付けなければならないのか? > ・ユーザイベントは必ず対応したオブジェクト変数でしか受け取れないか?
答えはいずれもノーということで。
|