スタイルを持つComboBox
WinForms アプリケーションを持っていDropDown
ます。つまり、ユーザーが値を入力したり、ドロップダウン リストから選択したりできます。次のようになります。
私の目標は、インデックスに基づいてドロップダウン リストから項目を選択することです。だから私はこれを行います:
//I know for sure that i >= 0 && i < comboBox.Items.Count
comboBox.SelectedIndex = i; //i = index of the existing item
上記の行の後でメッセージを表示しない限り、これは問題なく機能します。
MessageBox.Show("Error");
この場合、コンボ ボックス内の項目は、このコンピューターでのテスト中に約 80% の時間で選択されました。したがって、ここには明らかにタイミングの問題があります。
私が知る必要があるのは、ComboBox アイテムを選択する「確実な」方法は何ですか? (つまり、次のコード行が実行されたときに選択されていることを確認するか、それを実行しますsynchronously
。)
PS。プロパティにテキストを割り当てるだけでよいことはわかっていText
ますが、それは私が求めていることではありません。ComboBox の実装でわかるように、カスタム オブジェクトを各項目に割り当てることができます。また、SelectedIndexChanged
.
PS2。DropDown
これがスタイルのあるコンボ ボックスのみに影響するのか、それともすべてのコンボ ボックスに影響するのかはわかりません。