アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB6ではフォーム上にボタンコントロールとかを配列で作成できクリックされた時にはボタンイベントのインデックス値によってどのボタンを押されたが判断できて各処理を記述できていましたが、VB.NETでは同じようにはできないようです。オブジェクト指向的?にはこちらがいいのでしょうが、どうも面倒くさくなったなぁというイメージしかわかず、なぜこの方がいいのかという納得いく書籍とかも見つけることができていません。
どなたか、ご教授頂きたいのですがよろしくお願いします。参考になる書籍やWEBとかもありましたらお教えいただければ幸いです。

A 回答 (3件)

VB6のように、コントロール配列はありません。


イベントモデルの変更によるものです。
コントロール配列の代わりとして、オブジェクト配列を使います。
残念ながら、デザイン画面でindexによる配列処理はできません。
コード画面から、Newでインスタンスを生成させる方法です。
Dim MyButton(10) As New Button

イベント処理は、
WithEventで発生させるイベントを宣言し、Handlesによって処理の定義をします。
Private Sub( … )Handles MyButton.Click
イベントプロシージャ内の配列の区別は、TabIndexか、Tagを使用します。

VB.NETへの移行の必要性は分かりませんが、
現状のVB.NETでは不便な点が多々あるようです。
また、リバースエンジニアリングの懸念が心配な言語です。私的に、2005のバージョンに期待したいです。
    • good
    • 1

.NETは使用していないので実体は存じませんが、


同様に配列処理できないExcelVBAでの取り組み方法です。
クラス化するところは同じだと思いますので、
参考程度に見て下さい。
[クラスモジュールを使った究極のVBAプログラミング]
http://www.moug.net/skillup/opm/opm08-01.htm
    • good
    • 0

コントロール配列に代入すれば使用できるから構わないと考えたのでしょう。


むしろ制限を緩和しているというように表記されているようです。

参考URL:http://support.microsoft.com/default.aspx?scid=k …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています