• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# ListBoxのキーボードマッチを無効にしたい)

C# ListBoxのキーボードマッチを無効にする方法

このQ&Aのポイント
  • .NET FW2.0+C#で使用するListBox(ドロップダウンリスト)において、キーボードの英数キーを押した際に自動的にマッチする機能を無効にする方法を教えてください。
  • プロパティには該当するものがなく、イベント処理で対応するしかないようです。どのような処理を行えばキーボードマッチを無効にすることができるのか教えていただけませんか。
  • C#のListBoxでキーボードマッチ機能を無効にする方法について教えてください。リスト内のValue先頭値と自動的にマッチする機能を無効にするためには、どのようにプログラムを記述すれば良いのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

ListBoxのKeyPressイベントを処理するようにしましょう イベントハンドラを private void listBox1_KeyPress(object sender, KeyPressEventArgs e) {   // キーは処理済ですといったことになる   e.Handled = true; } といった具合で定義しておきます this.listBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.listBox1_KeyPress); といった具合で イベントハンドラをInitializeComponentなどで接続します

mappy88
質問者

お礼

早速のご回答ありがとうございました。 実はスプレッド上のドロップダウンリストでマッチングを行わせると例外が発生していた事象を止めようとしていました。そこでイベントを取得して何とか・・・と考えていたのですが、AutoSearchプロパティがスプレッドに存在する事が判明し、そちらをfalseに・・・・と、またまた考えていたのですがやはり使い勝手が悪いため、調べてみましたところListBoxをスプレッドに渡していたのですが、string配列を渡すべきでした。 今回はお教え頂いた方法を役立てる事ができませんでしたが、後学の参考になりました。ありがとうございました。