2010-11-09 54 views
1

據我所知,以上情況在下面的情況下是不可能的。我在這裏詳細解釋它。Winform中Keypreview屬性和按鍵事件的組合

想,如果我有Form1中,我把它的KeyPreview屬性=真

「Keyprees,keyDown和KEYUP」活動僅適用於WinForm的不是他們的孩子

objects/components像「textbox」,「ListBox」

所以我的問題是: - 有沒有可能將它用於winforms,它是兒童控制。

通過將form1的keypreview屬性設置爲true,對窗體和控件都有可能嗎?

       Or By Any Other Way 

回答

2

即使該屬性設置爲true,你仍然能夠趕上的子控件的事件,但你也將能夠趕上窗體上的「預覽」事件,這基本上是給你在平臺將其轉交給子控制機構之前處理事件的機會。

MSDN explanation是決定性的。

+0

@Liviu M,建議的鏈接僅顯示不適用於子控件的表單的鍵盤輸入 – mahesh 2010-11-09 13:10:16

+0

這就是例子。您必須將e.Handled屬性設置爲true才能傳播事件。 – 2010-11-09 13:13:34

+0

@Liviu,你的意思是如果我把e.handle屬性設置爲true,對於form1_Keydown事件處理程序比它對textbox1_Keypress eventhandler有效? – mahesh 2010-11-09 13:49:59