-1

私のプログラムは、マウスのみを使用してナビゲートする限り、正常にコンパイルおよび実行されます。「Enter」を押すと、ウィンドウ内のボタンの 1 つをクリックすると自動的に登録されることに気付きました。「AcceptButton」プロパティをいじり始め、適切なボタンまたは「なし」に設定しました。何も機能していないようで、「Enter」に関連付けられているように見えるデフォルトのボタンのままです。それがしようとしているボタンは、コードで定義した最初のものであることに気付きました。

簡単に言うと、Enter キーの「デフォルト」値を「AcceptButton」プロパティで実際に指定されている値に削除したいと考えています。

ありがとう、

アンディ

4

2 に答える 2

0

WinForm に があると仮定してTextBox、TextBox.TabIndex を 0 に設定します。ここでも、この TextBox がユーザーが操作する最初の UI 要素であると仮定します。

次に、すべてのボタンを TabIndex > 0 に変更します。

最後に、Form.AcceptButton を更新して、デフォルトの Accept/Enter に必要なボタンにします。

より低い TabIndex を持つことができる TextBox やその他の要素がない場合、フォームが読み込まれると、ボタンがフォーカスのある既定の UI 要素になります。

于 2013-03-28T17:15:23.560 に答える
0

onKeyDownイベントをキャプチャして、それが入力されている場合は処理しない可能性があります

protected override void OnKeyDown(KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        this.YOURBUTTON.PerformClick();
    }
}
于 2013-03-28T16:58:41.280 に答える