ユーザーがドロップダウンコンボボックスから値を選択するたびに、その選択がコレクションの最初の項目(インデックス0)になるコードを作成しました。
例
前
[_ MyComboBox _] [v]
|Dog |Tree |House
ユーザークリック「ツリー」
後
[_ MyComboBox _] [v]
|Tree |Dog |House
問題は、この操作の後、すべてが正常に機能していても、comboBoxが空白のままであり、ユーザーが何をしたかについての手がかりがないことです。
しかし、誰もが示唆しているようMyComboBox.SelectedIndex = 0;
に、イベントハンドラーMyComboBox_SelectedIndexChanged(...)内から呼び出すため、無限ループがトリガーされます。
私も試しMyComboBox.Text = string_that_contains_what_I_want_to_display;
ましたが、SelectedIndexChangedとSelectedValueChangedの両方がトリガーされます。
率直に言って、同じ値、インデックスと値の両方を持つアイテムから切り替えてもトリガーされる理由がわかりません。私が理解している限り、SelectedValueChangedは、2つのアイテムの内容が異なる場合にのみトリガーする必要があります。
このパズルから抜け出すのを手伝ってくれる人に感謝します。
ソートが完了したら、プログラムインターフェイスでソート操作の結果を表示する必要があります。コントロールを含むページ全体をリロードできます。それは機能しますが、あまり効率的ではありません。