私はwinform上にいくつかのボタン、1つのテキストボックス、およびdatagridviewを持っています。
と私は、テキストブロック上にカーソルを置くために画面にフォームが表示されたいときは、
私はtxtName.Focus()を使用します。
しかし、ロード時のテキストボックスにフォーカスがないときはいつも、 実際にはdagaridviewはそれ自身に焦点を当てています。
解決方法winformでdatagridviewのフォーカスを外す方法
0
A
答えて
2
コントロールのtabindexプロパティを変更するだけです。
他のコントロール(グループボックスまたはパネル)にコントロールが含まれていると、誤解を招く可能性があるため、tabindexプロパティを直接使用するように注意してください。
メニューの[表示]と[タブオーダー]ツールを使用します。
まず、テキストボックスをタブオーダーに置きます。あなたは、フォーム内のコントロールのTabIndex
プロパティを設定する必要があります何
3
をコーディングする必要はありません(フォームのロードは、それが自動的にフォーカスを持つことになりますときように、例えば、あなたのTextBox
が最低TabIndex
を持っている必要があります)
3
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.TabStop = false;
textBox1.TabIndex = 0;
}
んその助けが欲しい
0
テキストボックスにフォーカスを当てる前に、ページが読み込まれていることを確認する必要があります。したがって、フォームのLoadイベントのイベントを追加します。
あなたはデザイナーに、またはそのような背後にあるコードでこれを行うことができます、ロードイベント中
this.Load += new EventHandler(Form1_Load);
あなたのテキストボックスに選択を呼び出します。
private void Form1_Load(object sender, EventArgs e){
txt_Name.Select();
}
「選択」コマンドでは、選択したテキストの量を選択できます。たとえば、インデックス0を開始する最初の文字を選択するには、txt_Name.Select(0,0)を使用します。詳細は MSDNです。
また、tabindexプロパティを0に設定すると、最初にフォーカスを取得することができます(イオンデンによる)。
関連する問題
不適切な時刻にFocus()を呼び出すことは、ウィンドウがまだLoadイベントで表示されていない場合のような通常の問題です。代わりにSelect()を使用してください。 –