2009-12-03 112 views
0

在Windows Forms,.NET 2.0應用程序中,我使用附加到表單的ContextMenuStrip屬性的ContextMenuStrip控件。當我右鍵單擊表單時,ContextMenuStrip將在鼠標光標位置處打開。在「菜單鍵」上按下,ContextMenuStrip不會在鼠標光標位置彈出

但是,當我按下鍵盤上的「菜單鍵」時,ContextMenuStrip未在鼠標光標位置打開,它在窗體的右下角四分之一處的相同位置打開。這是一個標準的行爲,爲什麼?

如何編寫代碼來改變此行爲,並在按下「菜單鍵」時使ContextMenuStrip在鼠標光標位置彈出?

回答

0

這是標準行爲。嘗試在任何其他應用程序中使用密鑰。它完全忽略了鼠標位置。

我會避免壓倒一切的標準行爲。鍵盤用戶不會留下深刻的印象,他們所有的菜單都會在最後離開鼠標的地方彈出。

+0

不一定。例如,在Visual Studio中,如果在樹或文本編輯器中選擇了某些內容,則上下文菜單鍵將在此位置彈出上下文菜單... – jreichert 2015-03-16 10:10:46

+0

是的,它彈出到所選元素,但仍然不是鼠標位置。 – tster 2015-03-16 23:13:45

+0

在我看來,這是正確的。如果您使用鍵盤,則會在專注於鍵盤的控件上獲得上下文菜單。 – jreichert 2015-03-17 17:02:11

0

我認爲這是正常的行爲。嘗試在此窗口中按菜單鍵;-)

相關問題