- PR -

多量のコントロール

1
投稿者投稿内容
bacchus
会議室デビュー日: 2002/10/11
投稿数: 10
投稿日時: 2003-01-10 10:12
VB.NETにて、担当者毎、時系列の予約表の画面を
作成しているのですが、約400程のコントロール(テキストボックス)を
必要とします。
一個一個配置していっても良いのですが、効率が悪いので
処理にて自動生成したいと考えています。
又、各コントロールをクリックしたときにイベントの
取得も行いたいのですが、効率のいい方法はありませんでしょうか?

現状は、Time(i) = New TextBox() のような形で、生成して、
Me.Controls.Add(TIME(i)) で作成しているのですが、
これで作成した場合のイベントの取得方法が不明です。

よろしくお願いいたします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-01-10 10:19
>>現状は、Time(i) = New TextBox() のような形で、生成して、
>>Me.Controls.Add(TIME(i)) で作成しているのですが、
>>これで作成した場合のイベントの取得方法が不明です。

 イベントハンドラ内で、NameプロパティやTagプロパティで判別すればよいのでは?
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-01-10 10:31
VBで開発をなさっていた方ですね?

.NETではイベント処理のための関数というのはありません。(Command1_Clickみたいな)
VB.NETしか使っていないと感覚的に分からないかもしれませんが。

.NETでは、オブジェクトに「そのイベントが起こったらこいつを呼んでくれ」ということでメソッドを設定しておきます。
VB.NETでは、Handlesというキーワードを使う方法もありますが、その場合、動的に設定・解除ができません。

AddHandlerというキーワードを調べて見てはどうでしょう。

[ メッセージ編集済み 編集者: 一郎 編集日時 2003-01-10 10:31 ]
rucio
ベテラン
会議室デビュー日: 2002/11/27
投稿数: 98
投稿日時: 2003-01-10 10:40
VBの場合は既に指摘のあったようにAddHandlerを使えば実現できます。
このような感じになります。

Dim NewButton As New Button()
Me.Controls.Add(NewButton)
AddHandler NewButton.Click, AddressOf Me.Button1_Click
bacchus
会議室デビュー日: 2002/10/11
投稿数: 10
投稿日時: 2003-01-10 10:55
皆様、ありがとうございます。
ご指摘の方法で試してみたいと思います。
1

スキルアップ/キャリアアップ(JOB@IT)