2011-11-16 4 views
12

私はダイアログフォーム上にテキストボックスを持っていますが、フォームロード時にデフォルトでフォーカスしたいのですが、何らかの理由で、 私は試みました:フォーカスとform_loadイベントとフォームの初期化直後にフォーカスメソッドを配置します。どのようにC#を使用してダイアログフォーム上のテキストボックスにフォーカスを設定する

+0

あなたのコードはどこですか?あなたは物事を試みたと言いますが、私はそれについての証拠は見ません。 –

+0

WinForms(Form_Load'への参照など)について話しているように聞こえるので、WinFormsタグを追加しました。 –

答えて

25

DialogフォームのActivatedイベントハンドラでControl.Focus()メソッドを呼び出すか、Tab Index Orderを設定するか、Select()メソッドを使用します。

+1

nice、私はそれがtabindexによって引き起こされたとは思わなかった、大きな助け!! – ikel

+0

「Enter」イベントを使用して正しい方向に私を入れます。 –

1

textBox1.Select();を試しましたか?

+0

はい、私はそれを試みましたが、AVDのおかげで彼は私を助けました – ikel

1

ダイアログフォームのloadイベントでtextbox2.Select()を使用してみます。

9

代わりにフォームを使用してイベントを表示します。フォームは表示されませんが、コントロールはフォーカスを取得できません。

public partial class Form1 : Form 
{ 
    private void Form1_Shown(object sender, EventArgs e) 
     { 
       textBox1.Focus(); 
     } 
} 
+0

フォームの表示されたイベントでcontrol.focus()を入れることは素晴らしいです。 – docesam

0

また、ダイアログのActiveControlメソッドを使用することもできます。たとえば、[フォームダイアログ=新しいフォーム()]のようなコードでダイアログフォームを作成する場合は、dialog.ActiveControl = "コントロールの名前"を使用します。

関連する問題