- - PR -
多量のコントロール
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-01-10 10:12
VB.NETにて、担当者毎、時系列の予約表の画面を
作成しているのですが、約400程のコントロール(テキストボックス)を 必要とします。 一個一個配置していっても良いのですが、効率が悪いので 処理にて自動生成したいと考えています。 又、各コントロールをクリックしたときにイベントの 取得も行いたいのですが、効率のいい方法はありませんでしょうか? 現状は、Time(i) = New TextBox() のような形で、生成して、 Me.Controls.Add(TIME(i)) で作成しているのですが、 これで作成した場合のイベントの取得方法が不明です。 よろしくお願いいたします。 |
|
投稿日時: 2003-01-10 10:19
>>現状は、Time(i) = New TextBox() のような形で、生成して、
>>Me.Controls.Add(TIME(i)) で作成しているのですが、 >>これで作成した場合のイベントの取得方法が不明です。 イベントハンドラ内で、NameプロパティやTagプロパティで判別すればよいのでは? |
|
投稿日時: 2003-01-10 10:31
VBで開発をなさっていた方ですね?
.NETではイベント処理のための関数というのはありません。(Command1_Clickみたいな) VB.NETしか使っていないと感覚的に分からないかもしれませんが。 .NETでは、オブジェクトに「そのイベントが起こったらこいつを呼んでくれ」ということでメソッドを設定しておきます。 VB.NETでは、Handlesというキーワードを使う方法もありますが、その場合、動的に設定・解除ができません。 AddHandlerというキーワードを調べて見てはどうでしょう。 [ メッセージ編集済み 編集者: 一郎 編集日時 2003-01-10 10:31 ] |
|
投稿日時: 2003-01-10 10:40
VBの場合は既に指摘のあったようにAddHandlerを使えば実現できます。
このような感じになります。 Dim NewButton As New Button() Me.Controls.Add(NewButton) AddHandler NewButton.Click, AddressOf Me.Button1_Click |
|
投稿日時: 2003-01-10 10:55
皆様、ありがとうございます。
ご指摘の方法で試してみたいと思います。 |
1