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で質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) Edge操作のアプリが例外発生に 1 2023/03/12 21:22
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Java オブジェクト指向プログラミングの実践本を紹介してください 3 2022/09/19 04:56
- 教えて!goo ベストアンサー、お礼の仕方教えてください。 ベストアンサーやお礼をしたくてもボタンが見つかりません。 2 2023/01/13 18:49
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
VS 2008(VB.NET)
Visual Basic(VBA)
-
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
コントロール配列と同じような扱い方
Visual Basic(VBA)
-
-
4
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
5
frxファイルの役目
Visual Basic(VBA)
-
6
VB.netでRadioButtonを配列にしたい場合
Visual Basic(VBA)
-
7
VB.netで DirListBoxを使いたい
Visual Basic(VBA)
-
8
値を返さないコード パス
Visual Basic(VBA)
-
9
CheckBoxのコントロール配列について
Visual Basic(VBA)
-
10
アクセスできない保護レベルエラーが発生します
Visual Basic(VBA)
-
11
VB.net 引数で配列変数を渡す際の要素数
Visual Basic(VBA)
-
12
vb.net メニューをダブルクリックしてもイベントが発生しない
Visual Basic(VBA)
-
13
フレームワーク「4.8.1」で、[Sub Main]が動かない。助けて下さい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
Dir関数で読み取り順を操作でき...
-
VBAでMODE関数をつくる
-
配列の中の最大値とそのインデ...
-
CheckBoxの配列化
-
エクセルでXY座標に並べられた...
-
C#でbyte配列から画像を表示さ...
-
8bitインデックス画像の入出力方法
-
Excel2010のinputboxで複数デー...
-
大量の変数を定義するにはどう...
-
セル範囲から一次元配列の生成
-
2次元配列の初期値
-
VB.NETの配列にExcelから読み込...
-
VBScriptでCSVファイルを読み出...
-
レコードセットの中身を配列に...
-
構造体配列の特定のメンバーをF...
-
excel vbaの配列なんですが・・・
-
free()関数の多用 と Segment...
-
VBScript で ADO Streamオブジ...
-
COBOLの基本的な事なので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
vba フィルター 複数条件 3つ以...
-
C#でbyte配列から画像を表示さ...
-
Excel2010のinputboxで複数デー...
-
エクセルでXY座標に並べられた...
-
構造体配列の特定のメンバーをF...
-
定数配列の書き方
-
コンボボックスのインデックス...
-
OutOfMemoryExceptionの回避策...
-
Dir関数で読み取り順を操作でき...
-
CheckBoxの配列化
-
構造体配列内の文字列検索のよ...
-
COBOLの基本的な事なので...
-
Redim とEraseの違いは?
-
VBAで配列引数を値渡しできない...
-
2次元配列の初期値
-
配列の中の最大値とそのインデ...
-
大量の変数を定義するにはどう...
-
VB6からの移行したいけど、VB.N...
-
VB6のメモリ解放に関して
おすすめ情報