はじめまして、まっはといいます。
SplitContainerにコントロールを貼り付けて使用しているのですが、
FormLoad時に貼り付けてあるコントロールにFocusをセットしたいのですが、
Select、Focusを使用しても、セットできません。
FocusがSplitContainerのSplitterにしかセットされないです。
どうしたらFormLoad時にSplitContainerのコントロールに
Focusをセットできるのでしょうか。ご教授お願いいたします。
> Splitterにしかセットされないです。
splitContainer.Panel1 のコントロールが、
フォーカスを受け取れない状態になっているとか、かな…。
> Focusをセットできるのでしょうか。
Load 中だと、まだフォームが表示されていない可能性が高いので、
textBox1.Focus()
は失敗する(戻り値 False になる)気がします。この場合は、
ActiveControl = textBox1
にしてみましょう。
お世話になっております。まっはです。
お返事ありがとうございます。
ご指摘のとおり、FormLoad時に
Me.ActiveControl = でコントロールを指定したのですが、
結果は同じでした。ウォッチでMe.ActiveContorolの中を
見たのですが、{System.Windows.Forms.SplitContainer}になっています。
FormLoad以外のイベントでFocusを実行しても内容は
SplitContainerなのですが、フォーカスはコントロールにセットされます。
フォーカスがセットされないのはFormLoad時の場合の不具合のようです。
話の内容とは、かすかに違うかもだけど、
Form.ShownイベントでFocusを移動したりしてみてもダメ?
お世話になります。
ご指摘通り、ShownイベントにFocusを記述したところ、
なんとうまくいきました!!
ありがとうございます。Loadイベントにばかり目が行って
ほかのイベントを調べていませんでした。
何故Loadイベントでは出来ないのか疑問は残りますが、
Focusがセットできれば文句ありません!!
ありがとうございました。
すいません。
解決済みのチェック忘れてました。
これで解決です。
ツイート | ![]() |