

VB6ではフォーム上にボタンコントロールとかを配列で作成できクリックされた時にはボタンイベントのインデックス値によってどのボタンを押されたが判断できて各処理を記述できていましたが、VB.NETでは同じようにはできないようです。オブジェクト指向的?にはこちらがいいのでしょうが、どうも面倒くさくなったなぁというイメージしかわかず、なぜこの方がいいのかという納得いく書籍とかも見つけることができていません。
どなたか、ご教授頂きたいのですがよろしくお願いします。参考になる書籍やWEBとかもありましたらお教えいただければ幸いです。
No.3ベストアンサー
- 回答日時:
VB6のように、コントロール配列はありません。
イベントモデルの変更によるものです。
コントロール配列の代わりとして、オブジェクト配列を使います。
残念ながら、デザイン画面でindexによる配列処理はできません。
コード画面から、Newでインスタンスを生成させる方法です。
Dim MyButton(10) As New Button
イベント処理は、
WithEventで発生させるイベントを宣言し、Handlesによって処理の定義をします。
Private Sub( … )Handles MyButton.Click
イベントプロシージャ内の配列の区別は、TabIndexか、Tagを使用します。
VB.NETへの移行の必要性は分かりませんが、
現状のVB.NETでは不便な点が多々あるようです。
また、リバースエンジニアリングの懸念が心配な言語です。私的に、2005のバージョンに期待したいです。

No.2
- 回答日時:
.NETは使用していないので実体は存じませんが、
同様に配列処理できないExcelVBAでの取り組み方法です。
クラス化するところは同じだと思いますので、
参考程度に見て下さい。
[クラスモジュールを使った究極のVBAプログラミング]
http://www.moug.net/skillup/opm/opm08-01.htm
No.1
- 回答日時:
コントロール配列に代入すれば使用できるから構わないと考えたのでしょう。
むしろ制限を緩和しているというように表記されているようです。
参考URL:http://support.microsoft.com/default.aspx?scid=k …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VS 2008(VB.NET)
Visual Basic(VBA)
-
VB6からVB2010への変換について
Visual Basic(VBA)
-
VB.NET でのLaod/unLoad について
Visual Basic(VBA)
-
-
4
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
5
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
6
VB.netでのライン描画方法がわかりません
Visual Basic(VBA)
-
7
VB.NETでMSComm が追加できず?
Microsoft ASP
-
8
SPREAD(GrapeCity)のセルにフォーカスを設定するにはどうしたらいいのでしょうか?
Visual Basic(VBA)
-
9
VB.NETにて、構造体へデータをセットするにはどうすればよいですか?
Visual Basic(VBA)
-
10
Visual Basic 2010を使ってRS-232Cとの通信をした
Visual Basic(VBA)
-
11
VB2008で定数に色の設定をしたいです。(初心者)
Visual Basic(VBA)
-
12
VBの画面サイズについて
Visual Basic(VBA)
-
13
VisualBasic6からVB2005に移行に難儀しています。
Visual Basic(VBA)
-
14
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
15
CloseとDisposeの違い
Visual Basic(VBA)
-
16
「&HFFFF」「&H1A」とは?
Visual Basic(VBA)
-
17
asp.NET初心者です。「 ’Context’は’○○○’のメンバで
Microsoft ASP
-
18
アクセスできない保護レベルエラーが発生します
Visual Basic(VBA)
-
19
VB.netでRadioButtonを配列にしたい場合
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
VB6のメモリ解放に関して
-
VB.NETの配列の限界を教えてく...
-
エクセルでXY座標に並べられた...
-
Excel2010のinputboxで複数デー...
-
配列の中の最大値とそのインデ...
-
Variant型配列の文字コード変換
-
C#でbyte配列から画像を表示さ...
-
配列のペースト出力結果の書式...
-
VBA: Select Caseを短くしたい
-
配列の要素がすべてカラかどう...
-
大量の変数を定義するにはどう...
-
.NET 文字コードの変換
-
OutOfMemoryExceptionの回避策...
-
RPG 配列宣言について
-
Excelマクロ:配列データからグ...
-
Imagelist の使い回しについて
-
VBAでMODE関数をつくる
-
クリスタルレポートで文字列の...
-
2つ目のレコードの値を取得す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
エクセルでXY座標に並べられた...
-
vba フィルター 複数条件 3つ以...
-
配列のペースト出力結果の書式...
-
OutOfMemoryExceptionの回避策...
-
配列の中の最大値とそのインデ...
-
複数のtextboxの処理を一括で行...
-
Dir関数で読み取り順を操作でき...
-
VB6からの移行したいけど、VB.N...
-
COBOLの基本的な事なので...
-
構造体配列の特定のメンバーをF...
-
大量の変数を定義するにはどう...
-
EXCEL VBAの課題です
-
Redim とEraseの違いは?
-
VB.NETの配列にExcelから読み込...
-
VBAでMODE関数をつくる
-
VB.NETにて、構造体へデータを...
-
1ビットごとの配列を作りたい
-
VBAで配列引数を値渡しできない...
おすすめ情報