2017-01-17 15 views
0

私はVisual Studioのコンボボックスに特有の問題があります。 私はそれを使用して、ユーザーがコンボボックスのテキストボックス部分にテキストを入力させ、すぐにSQLリクエスタを開始させます。 結果はコンボボックスのドロップダウンリスト部分に表示されるはずです。 (DropDownStyleがドロップダウンに設定されている)C#ComboBoxがドロップダウンメニューからアイテムを選択できない

private void UpdateParent(object sender, EventArgs e) 
     { 
      ParentListChange(); //Update the listitems 

      //prevent from opening at the beginning 
      if (!ParentSelect.Text.Trim().Equals("")) 
      { 
       //my problem 
       ParentSelect.DroppedDown = true; 

       Cursor.Current = Cursors.Default; 
      } 
     } 

しかし、すぐにドロップダウンが最初の項目を選択します開き、全体のテキストがテキストボックスに貼り付けられますよう。 それで、行の中に複数の文字を書き始めると、2番目の入力された文字が選択された文字を置き換えるため、最初の文字は「消えます」。

私は同様の記事があると知っているが、彼らは(ユーザーが入力する程度秒間待たなければならない)遅くすることですので、answeresが助けにはならなかった。

private void comboBox1_TextUpdate(object sender, EventArgs e) 
    { 
     var savedText = comboBox1.Text; 
     comboBox1.DroppedDown = true; 
     comboBox1.Text = savedText; 
     comboBox1.Select(savedText.Length, 0); 
    } 

かとworkeないでしょう

comboBox1.DropDownStyle = ComboBoxStyle.DropDown; 
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems; 

「最初の項目を選択する」ことを無効にする方法はありますか?

+1

あなたの質問は何ですか? WPF? UWP? WinForms? Webフォーム?ザマリン?他に何か?タグを使う! – taffer

+0

ここを見てください:http://stackoverflow.com/questions/11445125/disabling-particular-items-in-a-combobox – Niklas

+0

あなたのDropDownListはどこですか?あなたのTextBoxはどこですか?コードで表示される唯一のコントロールはComboBoxです。あなたの問題を正確に記述するためにもっと努力してください。 – Sabuncu

答えて

0

実現する方法の1つは、custom user controlです。

TextBoxは、ComboBoxと重複している可能性があります。

したがって、ユーザーはTextboxのみと対話し、TextBoxに入力すると(該当するイベントキーを押すと問題ありません)、データベースでクエリを実行し、クエリの結果をComboBoxにロードできます。

+0

良い方法ではありませんが、それは助けました。私の箱を書いたほうがいいよ、ありがとう。 – Luy

+0

実際、カスタムユーザーコントロールは常にPlan Bですが、 – Amit

関連する問題