-1

私は現在、Windowsフォームの計算機である宿題に取り組んでおり、フォームの受け入れボタンが等しいボタンに設定されているという問題に直面していますが、Enterキーを押すと、バックスペースボタンが機能し、バックスペースボタンに背景画像が表示されます。アプリを実行すると、バックスペースボタンが強調表示またはフォーカスされます。なぜそれが起こっているのですか?

4

1 に答える 1

3
 this.KeyPreview = true;

initializeComponentの後にある必要があります

実際、特別な理由を除いて、これの前に何も置くべきではありません。ここにはもっと間違っていると思いますが、これから始めて、次に進みます

試す

equalButton.Focus() 

initialComponent()の直後

ただし、コントロールを強調表示してEnterキーを押すと、そのボタンが選択されます。Webブラウザでファイルを印刷し、キーとタブを使用してキャンセルを強調表示し、Enterキーを押します。キャンセルが選択されます。

承認ボタンは、テキストボックス内でのみ使用することを目的としています。

AcceptReturn=false;

または、強調表示されているコントロールがない場合は、私は信じています。あなたがする必要があるのは、あなたのコントロールキープレビューイベントのそれぞれに入り、そしてあなたの等しいボタンを発射することです

if (e.keycode == keys.Enter)
    equalsButton_Click(new object(), EventArgs.empty)

私がすることを編集 することはあなたのボタンのonfocusイベントのそれぞれに追加することです、それらはすべてこのメソッドを指すことができます

public button1_onfocus(object sender, Eventargs e)
{
    myTextbox.focus();
}

このように、yoruテキストボックスが常にフォーカスされ、リターンキーが押された場合、テキストボックスにフォーカスがあるため、acceptボタンが起動します。

私のコードサンプルのどれも構文の正確さについてテストされていません

于 2012-05-31T18:48:01.317 に答える