폼에 ComboBox가 있습니다. ComboBox의 DropDownStyle
속성은 DropDown
으로 설정되어 있으므로 사용자는 드롭 다운 목록에서 항목을 선택하거나 수동으로 텍스트를 입력 할 수 있습니다.드롭 다운 목록에서 항목을 선택하면 ComboBox의 텍스트 필드가 변경됩니까?
사용자가 드롭 다운 목록에서 항목을 선택하면 ComboBox의 텍스트 필드에 나타나기 전에 해당 항목의 텍스트를 일부 변경하려고합니다. 이러한 항목 중 하나를 선택하면
101 Cat
102 Dog
103 Bird
, 나는 만 설명을하고 싶습니다 : 매우 간단한 예제를 사용하려면,의 드롭 다운 목록은 ID와 설명으로 구성 때문에 같은 항목이 포함되어 가정 해 봅시다 ComboBox의 텍스트 필드에 나타납니다. 따라서 "102 Dog"를 선택하면 텍스트 필드에 "Dog"문자열이 표시되어 사용자가 편집 할 수 있도록 준비되어야하며 드롭 다운 목록의 항목은 변경되지 않아야합니다.
ComboBox의 SelectionChangeCommitted
이벤트를 듣고 ComboBox의 Text
속성을 원하는대로 설정할 수 있다고 생각했습니다. 하지만 이렇게하면 Text
에 대한 변경 사항이 무시되고 전체 문자열 ("102 Dog")은 계속 ComboBox에 표시됩니다.
그렇다면 Text
이 드롭 다운 목록의 항목이 아니라는 것을 ComboBox에 알리기 위해 SelectedIndex
필드를 -1로 업데이트해야한다고 생각했습니다. 그러나 이것은 내가 Text
속성을 변경 한 것과 관계없이 텍스트 필드를 완전히 지 웁니다.
그래서 나는 너무 빨리 내 목적으로합니다 (Text
재산 만 SelectionChangeCommitted
이벤트 핸들러가 완료 후 내 선택 업데이트 할 것)에 대한 해고 나타나는 SelectionChangedCommitted
가 사용되는 잘못된 이벤트라고 생각 . 그러나 SelectedIndexChanged
및 DropDownClosed
을 포함하여 다른 모든 ComboBox 이벤트도 작동하지 않습니다.
나는 이것이 매우 습관적이라고 생각했다. 이 작업을 수행 할 수있는 간단한 방법이 있어야하며 확실한 뭔가를 놓치고 있다고 확신합니다 ... 어떤 아이디어입니까?
BeginInvoke! 당연하지. 좋은 소식은이 작품입니다, 나쁜 소식은 지금 나는 바보처럼 느껴집니다. ;) 고맙습니다. – Justin