2016-12-02 5 views
0

私は単純なコンボボックスをC#フォームで用意しています。ユーザーがcomboxにテキストを入力するときにcomboxドロップダウンを無効にする方法

私はAutoCompleteModeをSuggestAppendに、AutoCompleteSourceをListItemsに設定しました。これにより、コンボボックスに文字列を入力してリストをすばやくフィルタリングすることができ、入力するときに一致する項目が表示されます。これは素晴らしいです。

ただし、ドロップダウンリストが開いているときに入力を開始すると、フィルタリングされたリストがドロップダウンリストの上部に表示されますが、フィルタリングされたリストからはドロップダウンからのみ選択できません。

ユーザーがコンボボックスに文字を入力するとすぐに、ドロップダウンリストを無効にする方法。

は、現在だけでコンボボックス

private void SelectJobDropdown_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      //plenty of code here 
     } 

ための1つの方法を持っている私は、KeyPressイベントまたはKeyDownイベントとしてコンボボックスのための他の方法を追加しようとしているが、どれも私は非常に可能性が何か間違ったことをやっているとのために働いているように見えるん

Visual Studioを使用する2015

答えて

0

私が正しく理解していれば、古いドロップダウンよりも重複するリストが気に入らない場合があります。 ComboBoxに文字を入力したので、comboBox1_TextUpdateイベントを使用することをお勧めします。

リストは常にリストがドロップダウン[に表示されているかどうかを表示したりするかどうかを指定します。..

ComboBox.DropDownStyleプロパティを設定
private void comboBox1_TextUpdate(object sender, EventArgs e) 
{ 
    comboBox1.DropDownStyle = ComboBoxStyle.Simple; 

、この素敵なコードの行あなたの問題を解決しなければなりませんComboBoxStyle.Simpleへ]

リストが常に表示され、テキスト部分が編集可能であることを指定します。これは、ユーザーが新しい値を入力できることを意味し、リスト内の既存の値を選択することに限定されません。

は、元のドロップダウン(長いリスト)を削除し、フィルタリングされた結果のみが残ります。

関連する問題