2011-05-16 71 views
1

我有一個功能請求,當一個ComboBox被點擊進入時,它會清除文本,以便用戶可以開始輸入新的數據進行搜索。有沒有人知道一種方法來鉤入?單擊文本時以及單擊下拉箭頭(打開包含項目的下拉列表)時會引發'單擊'事件。我只希望它發生在第一個,而不是後者。WinForms ComboBox - 點擊文本輸入時的事件

現在我正在拍攝的DroppedDown財產click事件和過濾,像這樣:

if(!comboBox.DroppedDown) 
{ 
    // clear selection 
} 

這似乎是工作的大部分時間,但蟲子頻繁,以及...所以它不是100%。

如果有人知道正確的方法來做到這一點,我將不勝感激!

回答

2

請勿處理click事件。首先,如果用戶將焦點放入控件中,它將不會觸發。使用控件接收焦點時觸發的Enter事件。和而不是清除文本,你應該選擇它所有這將給兩全其美:

1)用戶可以開始輸入新的文本,這將清除任何舊的文本或

2)選項卡過去控制並保留原樣。

如果您總是刪除以前的文本,您可能會激怒用戶。

0

嘗試「Enter」事件。它發生在一個控件將注意力集中在表單上時。