我有一個ContextMenuStrip,其中包含動態生成的ToolStripMenuItems的子菜單。有多達80個子菜單項。按下所需菜單項目的第一個字母即可正確選擇它,但如果該項目碰巧不在可見範圍內(在由滾動箭頭處理的範圍內),則不會顯示 - 用戶必須按向上箭頭然後向下箭頭所需的選項將被顯示&聚焦在屏幕上。ToolStripMenuItem選中/突出顯示時不在可見區域
作爲一個例子,我有6個項目以「m」開頭,但只有3.5個可見。我擊中了第一個項目,第一個項目突出顯示,我再次擊中了m 3次,我可以看到一半選定的一行(它位於可見區域的底部),再擊中兩次,我看不到選擇行,然後m再一次,第一個m條目可見並再次選擇。
默認情況下,ToolStripMenuItems(TSMI)沒有鍵監聽器可用,但是如果我繼承了TSMI,我可以捕獲ProcessDialogKey和ProcessCmdKey並手動選擇正確的選項,但我無法向下滾動tooltrip子菜單以確保我的選項是可見的。
關於如何可以任何提示:
一)滾動工具條的子菜單
或
B)允許子菜單使用多列(和希望用戶沒有一個可笑的低分辨率)。
CMS上的KeyPress事件不會觸發子菜單。 我可以捕獲ProcessDialogKey並選擇正確的元素,但在正確的元素上執行「select」不會向下滾動子菜單以顯示所選項目。 AutoScrollOffset似乎不適用於子菜單 – BrianH 2008-11-21 14:58:52