![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?8acaa2e)
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のバージョンに期待したいです。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_06.png?8acaa2e)
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も見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
VS 2008(VB.NET)
Visual Basic(VBA)
-
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
-
4
VB.NET でのLaod/unLoad について
Visual Basic(VBA)
-
5
VBの「As String * 128」とは?
Visual Basic(VBA)
-
6
VB6からVB2010への変換について
Visual Basic(VBA)
-
7
[twip]から[pixel]への変換
HTML・CSS
-
8
VBでExcelが起動されているか知りたい
Visual Basic(VBA)
-
9
frxファイルの役目
Visual Basic(VBA)
-
10
コントロール配列と同じような扱い方
Visual Basic(VBA)
-
11
VB.netでRadioButtonを配列にしたい場合
Visual Basic(VBA)
-
12
VB6のAttribute VB_Nameの意味について
Visual Basic(VBA)
-
13
VisualBasic 2010でVB6で使っていたDrivelist
Visual Basic(VBA)
-
14
アクセスできない保護レベルエラーが発生します
Visual Basic(VBA)
-
15
vb.net メニューをダブルクリックしてもイベントが発生しない
Visual Basic(VBA)
-
16
フレームワーク「4.8.1」で、[Sub Main]が動かない。助けて下さい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンボボックスのインデックス...
-
構造体配列の特定のメンバーをF...
-
VB6のメモリ解放に関して
-
テキストボックの文字を一行ず...
-
VBA ブック呼び出しでの無限ループ
-
INPUT関数でのCSV読込がおかしい件
-
C#で作成したdllをVBScriptで使...
-
エクセル(VBA)の空白配列の削除...
-
DBから取得した値を配列へ代入する
-
VB6からの移行したいけど、VB.N...
-
COBOLの基本的な事なので...
-
構造体配列の一部初期化!!!
-
定数配列の書き方
-
OutOfMemoryExceptionの回避策...
-
VBAにて、配列のデータを一度に...
-
VB.NETにて、構造体へデータを...
-
エクセルでXY座標に並べられた...
-
VB.NETの配列とArrayListについ...
-
VBAでMODE関数をつくる
-
Segmentation Fault (メモリ制限?)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
vba フィルター 複数条件 3つ以...
-
Dir関数で読み取り順を操作でき...
-
Excel2010のinputboxで複数デー...
-
配列の中の最大値とそのインデ...
-
構造体配列の特定のメンバーをF...
-
COBOLの基本的な事なので...
-
構造体配列内の文字列検索のよ...
-
コンボボックスのインデックス...
-
エクセルでXY座標に並べられた...
-
エクセル(VBA)の空白配列の削除...
-
Redim とEraseの違いは?
-
定数配列の書き方
-
VB6のメモリ解放に関して
-
CheckBoxの配列化
-
複数のtextboxの処理を一括で行...
-
Excelのメモリ(配列)の上限は2G...
-
大量の変数を定義するにはどう...
-
OutOfMemoryExceptionの回避策...
おすすめ情報