私はフォーム上にComboBoxを持っています。 ComboBoxのDropDownStyle
プロパティはDropDown
に設定されているため、ユーザーはドロップダウンリストから項目を選択するか、手動でテキストを入力できます。ドロップダウンリストから項目を選択したときにComboBoxのテキストフィールドを変更しますか?
ユーザーがドロップダウンリストからアイテムを選択すると、アイテムのテキストがComboBoxのテキストフィールドに表示される前に変更を加えたいと思います。これらのアイテムのいずれかが選択されている場合
101 Cat
102 Dog
103 Bird
、私が唯一の説明が欲しい:非常に簡単な例を使用するには、そのようなものだが、ドロップダウンリストは、IDや説明で構成する項目が含まれているとしましょうコンボボックスのテキストフィールドに表示されます。したがって、 "102 Dog"を選択すると、テキストフィールドに文字列 "Dog"が表示され、ユーザーが編集できる状態になり、ドロップダウンリストの項目は変更されません。
ComboBoxのSelectionChangeCommitted
イベントを聞いて、ComboBoxのText
プロパティを好きなものに設定できると思っていました。しかし、私がこれを行うと、Text
に行った変更は無視され、文字列全体( "102 Dog")はComboBoxに表示されます。
したがって、Text
がドロップダウンリストの項目ではないことをComboBoxに示すために、SelectedIndex
フィールドを-1に更新する必要があると考えました。しかし、これは私がText
プロパティを何に変更しても、テキストフィールドを完全にクリアするだけです。
だから、私は私の目的のためにあまりにも早く起動するように表示されるSelectionChangedCommitted
は、使用されるように間違ったイベントであることを考え出し(Text
プロパティのみSelectionChangeCommitted
イベント・ハンドラが完了した後に私の選択で更新しているようです) 。しかし、他のすべてのComboBoxイベントは、SelectedIndexChanged
とDropDownClosed
を含む、動作しません。
私はこれが非常に習得しやすいと思った。これを行う簡単な方法があるはずですが、私は何か明白な何かを見逃していると確信しています...任意のアイデア?
BeginInvoke!もちろん。良いニュースはこの作品です、悪い知らせは私が馬鹿のように感じることです。 ;) ありがとうございました。 – Justin