-1
我有一個自定義組合框,當您單擊組合框的箭頭時,將打開一個單獨的控件。我想調用'LostFocus'事件處理程序來關閉自定義控件,當你失去了組合框的焦點。當您單擊窗體背景時,Winforms控件LostFocus事件不會觸發
如果您單擊另一個控件(如文本框),此功能正常工作,但如果您單擊窗體的背景則不會觸發。
我想模仿當你點擊關閉正常組合框的下拉菜單的功能。
我有一個自定義組合框,當您單擊組合框的箭頭時,將打開一個單獨的控件。我想調用'LostFocus'事件處理程序來關閉自定義控件,當你失去了組合框的焦點。當您單擊窗體背景時,Winforms控件LostFocus事件不會觸發
如果您單擊另一個控件(如文本框),此功能正常工作,但如果您單擊窗體的背景則不會觸發。
我想模仿當你點擊關閉正常組合框的下拉菜單的功能。
乘坐bool
變量在Form
水平,並使其進入組合框(的GotFocus)事件. In
離開(引發LostFocus)event of
組合框, make it
FALSE`期間true
。
訂閱Form MouseClick
事件並檢查bool
變量在這個事件。如果true
,請在此處調用組合框離開事件。
也許是因爲直到你轉移到另一個控制它沒有失去焦點,爲什麼不使用dropdownclosed事件? – BugFinder
這是設計。當焦點實際上丟失時,您只能獲得LostFocus(偏好離開)。工具箱中有大量不需要焦點的控件。像PictureBox,Panel等等。和表單。它的子控件佔用焦點,就像你的自定義組合框一樣。這就是爲什麼下拉不能這樣工作,他們使用Capture屬性。這確保即使鼠標不在窗口內時也能看到鼠標事件。 –
我已經嘗試了dropdownclosed,但是我沒有打開下拉菜單作爲自定義控件,因此禁用了下拉菜單。我確實試過把它打開,但我需要點擊打開的另一個控件,當下拉打開時這會自動觸發,我不想要。我需要一個事件,當你點擊背景時觸發,但找不到一個。或者,也許只是調用與下拉菜單關閉時所調用的相同的內容? – user3284707