※ ChatGPTを利用し、要約された質問です(原文:フォームを継承した際の、コントロールへのフォーカスの設定方法)
フォームを継承した際のコントロールへのフォーカス設定方法
このQ&Aのポイント
フォームを継承してコントロールへのフォーカスを設定する方法について質問します。
具体的には、frmParentフォームとfrmChildフォームがあり、frmParentに配置されたbtnTestボタンにフォーカスを設定したいです。
btnTest.CanFocusの値がFalseになっているため、フォーカスが正しく設定されていません。ControlStyles.Selectableスタイルビットについても理解できていない状況です。フォーカスを設定する方法を教えてください。
フォームを継承した際の、コントロールへのフォーカスの設定方法
こんにちは。
フォームを継承した際の、コントロールへのフォーカスの設定方法について質問です。
※利用しているバージョンは、.NET 2003 です。
1 : フォーム『 frmParent 』と、frmParent を継承したフォーム『 frmChild 』があります。
2 : frmParent には、ボタン『 btnTest 』が配置されています。
3 : frmParent 内で、Load イベントの ハンドラとして、以下を記述します。
Private Sub frmParent_Load( _
ByVal sender As Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
btnTest.Focus()
End Sub
4 : 以下を実行し、frmChild フォームをディスプレイに表示します。
Dim frm As New frmChild
frm.Show()
この際、btnTest ボタンにフォーカスが設定された状態でフォームを表示したいのですが、実際はフォーカスが設定されていません。
btnTest.CanFocus の値を調べると、False になっているのですが、なぜ CanFocus が False になるのか理由がわかりません。
ヘルプによると、入力フォーカスを受け取る条件として、
1 : コントロールの ControlStyles.Selectable スタイル ビットが true に設定されていること
2 : コントロールが別のコントロールに格納されていること
3 : すべての親コントロールが表示されており、有効であること
と書いてあったのですが、1 がよくわかりません。
根本的に考え方が間違えているのかもしれません…。
フォーカスを設定する方法をご教示ください。よろしくお願い致します。
お礼
参考URLを拝見させていただき、作成できました! フォームを継承している事は関係なかったんですね。 有難うございました(^^)