2009-08-15 8 views
0

Urgh、私はここで最後の数時間を費やしました。私は通常、グーグルリングのビットから答えを見つけることになりますが、これでは答えません。頭痛のビット。コンボボックスのドロップダウンを傍受する

私の質問:ユーザーがコンボボックスのドロップダウン矢印をクリックし、表示されてからドロップダウンリストを防ぐとき

  1. はどのようにしてキャッチすることができます。

  2. どのようにしてドロップダウンリストをクリアして読み込み、プログラムで表示できますか?

私は1つのエージェントプログラムをインターネット経由でサーバーにリモート接続しています。エージェントのドロップダウン矢印をクリックすると、サーバーに照会され、ドロップダウンリストに必要なものが決まります。次に、ドロップダウンリストを表示します。コンボボックスは、後続のコンボボックスのフィルタとして機能します。ドロップダウンリストの表示が遅れても、データの取得中は完全に受け入れられます。初めに、ドロップダウンリスト内の可能性のあるすべての項目を照会することは、非常に多くの項目があるのでオプションではありません。ユーザーがリストにない項目を入力する可能性があるため、リストボックスと比較してコンボボックスにする必要があります。

ComboBox1の都市を表示する - - ComboBox1の選択した項目

によって決定ドロップダウンリストを - 国

ComboBox2が表示されます。

GUIをエージェントに:

がうまくいけば、これは私がやっているものを明確にし、

ComboBox3 - ComboBox2で選択した都市 - ドロップダウンリストを表示

ComboBox4 - 通りを表示する - ComboBox3選択した項目

答えて

1

の代わりに、ユーザーがドロップダウンボタンをクリックしたときにドロップダウンを移入によって決定ドロップダウンリストを私はあなたがを移入することを示唆しているとするときの値次のコンボボックスを可能にします以前のコンボボックスの変更。コンボボックスに入力するのが遅い場合、ユーザが値を選択した後で、ユーザが値を選択する前よりもはるかに快適です。 ComboBox2ComboBox4には無効intiallyと彼らだけがデータで満たされたときに有効になっていることを

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged 
    ComboBox2.Enabled = True 
    ' Fill ComboBox2 based on ComboBox1.SelectedItem 
    ComboBox2.Items.Clear() 
    ComboBox2.Items.Add("Foo") 
    ComboBox2.Items.Add("Bar") 
End Sub 

注:

あなたがここにWindowsフォームを使用していると仮定すると、最初のコンボボックスのハンドラです。

+1

私は最初、それはあまりにも単純だと思った、私はすでにそれを試みた、それは動作しません。 しかし、それについて考えてみると、それは実際に私が最初に考えなければならない完璧な解決策です。時には必要なのは目が新鮮なものです(彼らが何を話しているかを知っている誰か)! すばらしい、すばらしい返信をいただきありがとうございます。 – Kez

+1

"ComboBox2.Items.Clear();"を追加しますここにFooとBarを追加する前に。 – MusiGenesis

+1

@MusiGenesis:あなたは正しいです、私は私の答えを編集しています。 –

関連する問題