1

タブとコンボボックスコントロールを備えた単純な勝利フォームアプリケーションがあります。

  • コンボ ボックス コントロールのスタイルは「シンプル」です。
  • タブ コントロールにはキーダウン イベントがあります。

コンボ コントロールで Enter キーを押すと、2 つのキー ダウン イベントが発生します。コンボ スタイルを別のスタイルに変更すると、キー ダウン イベントは 1 つだけ発生します。

Enterキーを1回押すだけで2つのキーダウンイベントが発生する理由は誰にも分かりますか? Microsoft の Web サイトで同様の問題を見つけましたが、それは .NET 1.0 に関連していました。

http://support.microsoft.com/kb/814970

4

2 に答える 2

0

Combobox の KeyPress は、'char' キーのみを受け入れます。目的に応じて、コンボボックスと e.Handled プロパティに KeyDown イベントを使用してください。

次に、コードが機能し、次のようになります。

private void comboBox2_KeyDown(object sender, KeyEventArgs e)
        {

            if (e.KeyCode == Keys.Enter)
            {
                comboBox2.KeyDown += new KeyEventHandler(comboBox2_SelectionChangeCommitted);
            }

            if (e.KeyCode != Keys.Enter)
            {

                e.Handled = false;

            }
        }
于 2014-01-01T16:07:39.143 に答える