- - PR -
ひとつ前のアクティブコントロール名
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-02-17 13:30
みかんさんありがとうございます。
一番最初にそのように考えたのですが、FORMにたくさんの コントロールが存在する時に、一つ一つ制御していかなければ ならないので、他の方法を探しました。 結果、上記のような形になりました。 | ||||
|
投稿日時: 2003-02-17 14:47
>FORMにたくさんのコントロールが存在する時に、一つ一つ制御していかなければならないので
いや、アクティブだったコントロール(TextBox)を、それぞれのGotFocusイベントを使って覚えておくというのは良い方法かもしれません。 「一つ一つ制御」というのは、例えば30個TextBoxがあったら、30個の関数を作ってそれぞれに同じような処理を書かなければならなくなるというようなことを仰っているんですか? .NETにまだ慣れていらっしゃらないという事ですので一々説明させて頂きますが、.NETにはVB6.0のように(Button1_Click()のような)イベント処理専用の関数というものはありません。 オブジェクトにイベントが起きたときに必要な情報と共に関数を呼び出してもらうのですが、その関数はプログラマが作り、そして設定します。 ですので、30個TextBoxがあっても、一つの関数で全ての(GetFocus等の)イベントを処理することもできます。 有り難いことに、その渡される情報では、イベントが起きたインスタンスがどれかも判ります。 Private focusedTextBox As TextBox = Nothing などと、フォーカスがあったTextBoxを覚えさせておくための変数を作っておき、
VB.NETで標準的な書き方ではこうなります。Handlesで,で区切って並べるんですね。 私はHandlesは嫌いですが……ね。 [ メッセージ編集済み 編集者: 一郎 編集日時 2003-02-17 14:50 ] | ||||
