エンターキーが押されたときに、既存のフォームのボタンが押されたかのように動作するようにコーディングするにはどうすればよいですか?
フォームのボタンを押すと、helloの表示メッセージが表示されます。
private void buttonHello_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello");
}
エンターキーが押されたときに同じことをするようにするにはどうすればよいですか(私の一生の間、私は覚えていません、そしてそれはおそらく本当に単純で、私は本当に愚かです)
WinForms?はいの場合、フォームを選択します。次に、AcceptButton()プロパティを「buttonHello」に変更します。
Form.AcceptButton() を参照してください:
ユーザーがENTERキーを押したときにクリックされるフォーム上のボタンを取得または設定します。
キャプチャ Enter 次のようなキーダウンイベント:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter){
button.PerformClick();
}
}
「MagicButton」アンチパターンに向かって運転していて、症状はどこかからバットを運転したいということです。必要な動作を何らかの方法でボタンから分離し(メンバー関数が機能する可能性があります)、同じ関数を任意の場所から呼び出します。本当にEnterキーに返信したいだけの場合は、@ Idle_mindが提案するように、AcceptButton
を使用するのが最善の方法です。
あなたはこのようなものを探していますか:-
private void tb_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
button.PerformClick();
}
キーダウン イベントハンドラーをフォームに追加します。次に、Enterキーが押されているかどうかを確認します
private void form_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter)
buttonHello.PerformClick();
}
フォームのプロパティで、AcceptButton = yourButtonを設定します。これで完了です。