テキストボックスが複数あり、ボタンを押し、処理をさせ、フォーカスのあったテキストボックスにフォーカスを戻したいです。
(ボタンをメニューみたいに使用したい)
なので、初心者ながらに考えたのが、
○全てのテキストボックスのLeaveイベントにオブジェクト取得を埋め込む
○UpdateDefaultButtonをオーバーライドし、オブジェクト取得をする
どちらかを行ったあと、取得したオブジェクトにフォーカスを返す
と言うやり方です。
現在、後者の方で、やってはいますが、
他に何か簡単な方法があるのではと、投稿させていただきました。
初心者で誠に申し訳ありませんが、どなかご教授願えたらと思います。
よろしくお願い致します。
ボタンなのかTextBoxなのか良くわかりませんが、
そんな面倒なことをしなくても、ひとつのイベントハンドラーに
複数のイベントを関連付ければいいだけでは。たとえば...
Dim rtText As TextBox
Private Sub Text_Leave(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles TextBox2.Leave, TextBox1.Leave, TextBox3.Leave
rtText = DirectCast(sender, TextBox)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
rtText.Focus()
End Sub
又やってしまった。
我->我龍院
早速の回答ありがとうございます。
返事が遅くなりまして申し訳ありません。
やはりイベントでなんとかするしかないんですね。
ありがとうございます、自分に自信がつきました!
解決チェックするの忘れてました。
>やはりイベントでなんとかするしかないんですね。
Visualxxxはコンソールアプリケーソン等の場合を除き、
イベントドリブンの開発ツールなんで、ほとんどの場合
"イベントでなんとか"します。
TextBox等のコントロールが多い場合は、オブジェクトの
配列とEnumを併用すると、コードが短くなったり、読み
易くなります。
| ツイート |
|