2013-02-03 40 views
0

我有一個Windows窗體應用程序。當我點擊一個窗口時會激活表單,然後我需要再次點擊才能調用特定的控件點擊事件。例如,如果我點擊一個按鈕,這將激活表單,然後我需要再次點擊該按鈕。單擊窗體不點擊底層控制

是否有執行一個鍵控制點擊窗口激活的方法嗎?最好我想這與任何可點擊控制(菜單,按鈕,標籤等)

到目前爲止,我已經成功地過來,然後單擊控件作品激活鼠標贏形式工作。我希望在點擊時激活勝利表單,並且如果點擊事件發生,也可以在底層控件上運行click命令。

+0

你是什麼意思的激活做 - 你的意思是獲得焦點或觸發一個事件還是什麼? – ScruffyDuck

+0

@ScruffyDuck道歉,如果這不明確。如果表單不是活動表單,則第一次點擊會激活表單。我需要做的是也點擊窗體上的控件,並點擊一次,以便用戶單擊一次即可運行該控件。 – FDunbar

+0

所以你說,直接點擊該按鈕不激活並執行按鈕? – ScruffyDuck

回答

0

嗯,這裏是實現你想要的方式(只是附加一個類似的方法你從的MouseClick事件):

private void Form1_MouseClick(object sender, MouseEventArgs e) 
{ 
    var c = this.GetChildAtPoint(e.Location); 
    this.InvokeOnClick(c, e); 
} 

這種方法有它的缺點,雖然 - 例如控制被點擊,即使這是殘疾人等等,所以你必須確保光標下的控制是通過自己「點擊」 ...