2016-04-02 8 views
0

私はWindowsフォームアプリケーションを作成していますが、アプリケーションの起動時にカーソルが間違ったテキストボックスにあります。C#windowsフォームアプリケーションのフォーカスまたは選択テキストボックス

私は他のいくつかの質問をオンラインで検索しようとしましたが、何も私にとってうまくいかないようです。

私はinputBox.Focus()を試しました。ボットの初期化コンポーネントの後、私はまた、私の入力ボックスのメソッドでこれを試してみました、と私は試みたinputBox.Select();いくつかの場所でも同様です。それは違いを生じさせるようではありません。

また、テキストボックスのタブインデックスをゼロに設定することもできますが、残念ながら私は理解しません。私はビジュアルスタジオのどこにいてもこのオプションを見つけることができません。私はこれがデザイナーのテキストボックスのプロパティにあると考えました。私は間違った場所を探していますか?それとも、私は別の解決策を探しているべきですか?あなたは0以上の値WIH制御よりも大きな値にTabIndexプロパティを設定することができLoadイベントで

namespace Project_9 
{ 
public partial class Form1 : Form 
{ 
    const int MAX = 10; 
    Bowling objectRef; 
    public Form1() 
    { 
     InitializeComponent(); 
     objectRef = new Bowling(10); 

    } 
    private void aboutToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     Close(); 
    } 
    private void aboutToolStripMenuItem1_Click(object sender, EventArgs e) 
    { 
     MessageBox.Show("Jonathan Spalding\nCS1400\nProject 9"); 
    } 
    private void inputBox_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.KeyData == Keys.Enter) 
     { 
      string text = inputBox.Text; 
      if (text == "") 
      { 
       highScoreBox.Text = objectRef.GetHighScorePlayer() + ": " + string.Format("{0:d}", objectRef.GetHighScore()); 
       lowScoreBox.Text = objectRef.GetLowScorePlayer() + ": " + string.Format("{0:d}", objectRef.GetLowScore()); 
       averageScoreBox.Text = string.Format("{0:f2}", objectRef.GetAverageScore()); 
      } 
      else 
      { 
       inputBox.Clear(); 
       objectRef.AddPlayer(text); 
      } 
     } 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     inputBox.Focus(); 
    } 
} 

}

+0

コードを教えてください。 –

+0

確かに!私はコードを組み込むように編集しました。 –

答えて

0

テキストボックスを選択します。プロパティウィンドウでTabIndexを見つけてください(見つけることができない場合は、小さな赤い矩形のようにAZ内のプロパティを並べ替えてください)。 1. TabIndexが私の例では、それぞれがのTabIndex値を持つ2コンボボックス) 2.タブストップの値がTrueで使用できるフォームのコンストラクタで

enter image description here

0

ActiveControl = inputBox; 
+0

ありがとうScott!私は以前にそのオプションを見たことがない。私もそれを試して、それは素晴らしい作品! –

0

は、ここに私のコードですスタートアップに焦点を当てます。 Tabキーを押すと、次のコントロール(TabIndexが高い)がフォーカスを取得できるように、他のコントロールでTabIndexを設定できます。

0

:。

public Form1() 
{ 
    InitializeComponent(); 

    inputBox.Focus(); 
} 

または

public Form1() 
{ 
    InitializeComponent(); 

    inputBox.Focus(); 
    inputBox.Select(); 
} 
+1

ありがとうLP!それは私の最後にユーザーエラー、またはちょっとバグがあったにちがいありません。私は両方の試みたinputBox.Focus();とinputBox.Select();早くフォームコンストラクタでInputBox.Selectを試してみましたが、今回は動作しますが、.Focus()はまだ動作しません。いずれにせよ、私はそれを働かせた。私はそれを使用しているので、TabIndexを変更するオプションが好きです。 –

0

私はコントロールでマウスをクリックしてTabIndexを設定することをお勧めします。表示メニューに移動し、TabIndexOrderメニューオプションに移動します。 次に、フォームに表示されているTabIndexをクリックするだけで、TabIndexの順序を設定できます。 終了したら、TabIndexOrderメニューオプションをもう一度選択して、ヘルパーを終了します。

関連する問題