3

Winフォームを使用しています。

私は約画面を持っています。10 フィールド。そして更新ボタン。しかし、どちらも画面に表示するボタン( )を使用したくありませんbtnUpdate

フィールドを表示したいだけです。それらはいくつかの値を変更でき、Enterキーを押すとコードビハインドで関数を実行する必要があります。

私はグーグルで検索して、 KeyPressonTextBoxなどの解決策を見つけましたが、これをにリンクしたくありませんTextBox。それから私は見つけましたform.Acceptbutton = btnUpdate...しかし、デザイナーのボタンを使用する必要があります。

ボタンコントロールを使用せずに更新を行う (つまり、Enter キーを押してコード ビハインドで関数を実行する) ことによって、どのように状況を作ることができますか。

4

1 に答える 1

1

ProcessCmdKey をオーバーライドしてみてください

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == Keys.Return)
    {
        //Raise Update Event
        return true;
    }
    else if (keyData == Keys.Escape)
    {
        //Raise Cancel Event
        return true;
    }
    return base.ProcessCmdKey(ref msg, keyData);
}
于 2013-03-26T14:25:01.700 に答える