我有一個用戶控件,其行爲與選項卡控件類似。 選項卡標題爲UserControl
實例,它們將覆蓋Paint
事件以使它們看起來很自定義。UserControl Focus Issue - Focus()有時會返回false
爲了利用我們標籤頁上各種控件的驗證事件,當用戶點擊標籤頁眉時,我們將焦點設置爲TabHeader
用戶控件。
我注意到Control.Focus()
有時會返回false,但文檔並沒有說明爲什麼Control.Focus()
將永遠返回false而不是控件無法獲得焦點。但我不知道爲什麼。
這是我看到: 如果我TabHeader
UserControl
不包含任何的子控件,我叫myControl.Focus()
從MouseClick
事件,焦點返回true。
如果我的TabHeader
UserControl
包含子控件,並且我從MouseClick
事件中調用myControl.Focus()
,則焦點返回false。
如果我的TabHeader
UserControl
包含子控件,並且我從myControl.MouseClick
事件中調用myControl.subControl.Focus()
,則focus返回true。
有人可以解釋這一點嗎?
儘管這個答案是幾年前,該解決方案爲我工作。我點擊了一個樹形視圖上的節點,並且根據用戶是否正在添加,編輯或刪除而啓用了用戶控件,但用戶控件中的另一個控件將需要焦點。 Select()像魅力一樣工作。謝謝。 – MikeMalter 2011-05-23 22:15:43