0

Windows 2012 で奇妙なバグを見つけました。テキスト ボックスとボタン (textBox1 と button1) を備えた単純なウィンドウ (WinForm) があります。フォームが表示された後、textbox1 にフォーカスしようとしました。

private void Find_Paint(object sender, PaintEventArgs e)
{
   textBox1.Focus();           
}

そして、それを設定するClickと、MouseClickイベントが機能しなくなります。だから私はボタンをクリックすることはできません。Windows 2008 では動作します。コメントのフォーカス行の場合 - も機能します。

誰が解決策またはおそらく代替案を提案できますか? フォームが表示された後、テキストボックスにカーソルを取得する必要があります

4

1 に答える 1

1

Shown代わりにイベントを使用する必要があります。

private void Find_Shown(object sender, EventArgs e){
  textBox1.Focus();
}

Paint非常に厄介なイベントを使用しました。フォームが再描画textBox1されるたびにフォーカスされ、Paintフォームのサイズが変更され、状態が変化するたびにイベントが発生します...発生する正確な時間を決定することはできませんが、フォームの実行中にかなり頻繁に発生します。これが、フォームをクリックして何も選択できない理由です。これは、コントロールをクリックまたは選択するPaintとイベントが発生し、そのときにtextBox1集中するためです。

于 2013-09-03T05:22:15.467 に答える