web-dev-qa-db-ja.com

C#Enterキーがボタンが押されたかのように動作するようにする

エンターキーが押されたときに、既存のフォームのボタンが押されたかのように動作するようにコーディングするにはどうすればよいですか?

フォームのボタンを押すと、helloの表示メッセージが表示されます。

 private void buttonHello_Click(object sender, EventArgs e)
{
    MessageBox.Show("Hello");
}

エンターキーが押されたときに同じことをするようにするにはどうすればよいですか(私の一生の間、私は覚えていません、そしてそれはおそらく本当に単純で、私は本当に愚かです)

8
user2867035

WinForms?はいの場合、フォームを選択します。次に、AcceptButton()プロパティを「buttonHello」に変更します。

Form.AcceptButton() を参照してください:

ユーザーがENTERキーを押したときにクリックされるフォーム上のボタンを取得または設定します。

7
Idle_Mind

キャプチャ Enter 次のようなキーダウンイベント:

private void Form1_KeyDown(object sender, KeyEventArgs e) 
{
    if (e.KeyCode == Keys.Enter){
        button.PerformClick();
    }
}
5
Karl Anderson

「MagicButton」アンチパターンに向かって運転していて、症状はどこかからバットを運転したいということです。必要な動作を何らかの方法でボタンから分離し(メンバー関数が機能する可能性があります)、同じ関数を任意の場所から呼び出します。本当にEnterキーに返信したいだけの場合は、@ Idle_mindが提案するように、AcceptButtonを使用するのが最善の方法です。

0
Felice Pollano

あなたはこのようなものを探していますか:-

private void tb_KeyDown(object sender, KeyEventArgs e) 
{
    if (e.KeyCode == Keys.Enter)        
        button.PerformClick();
}
0
Rahul Tripathi

キーダウン イベントハンドラーをフォームに追加します。次に、Enterキーが押されているかどうかを確認します

private void form_KeyDown(object sender, KeyEventArgs e)
{
    if(e.KeyCode == Keys.Enter)
        buttonHello.PerformClick();
}
0
Jonesopolis

フォームのプロパティで、AcceptButton = yourButtonを設定します。これで完了です。

0
Óûth Mânē