私はカスタムのTextBox
コントロールを持っています。このコントロールには、ウィンドウのデフォルトのTextBox
コントロールがあります。タブが押されたときに子コントロールがあるため、カーソルは子コントロールに直接フォーカスしません。 Tabキーを2回押す必要があります。最初のタブは親に、2番目のタブは子に移動します。 1つのTabキーでどのように行うことができますか?タブを押したときに子コントロールをフォーカスする方法は?
カスタムテキストボックスには、次のとおりです。
class MyTextBox : Control
{
TextBox innerBox;
public MyTextBox()
{
//.....
innerBox = new TextBox();
Controls.Add(innerBox);
innerBox.Parent = this;
innerBox.TabIndex = this.TabIndex;
//.....
}
//.....
}
変更に似た子コントロールの何かのためのマークアップになるだろう。またはTextBoxに変更し、「インボックス」を一切追加しないでください。 –
ありがとう@HansPassant、それは働いた。 'UserControl'がなぜこの問題を解決するのか説明してもらえますか? –
これは子コントロールのコンテナであるように設計されていますが、Controlクラスはそうではありません。どのようにそれを行うか見るには、[UserControl.WndProc()メソッド](http://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/UserControl.cs,f9a8bf95a2d28b6e)を見てください。 –