在WinForms中,只有ToolStrip可以有ContextMenuStrip,而不能有ToolStripItem。
因为我需要ContextMenuStrip来知道用户指的是哪个按钮,所以当鼠标按下按钮时,我有一个解决方案(通过在ContextMenuStrip.Openning获取光标位置,然后从ToolStrip获取项目),但我没有键盘选择的解决方案。理论上,可以尝试捕获ToolStrip的OnKeyDown,并尝试跟踪用户操作选择的项,但在实践中,如果ToolStrip溢出,可能会变得非常复杂,并且可能不可靠。
对此有什么解决方案吗?
解决方案:
我玩了一点,下面是解决方案,在ContextMenuStrip.Opening处理程序中执行以下操作:toolStrip.Items.Cast<ToolStripItem>().Where(x => x.Selected).First()以获取当按下键以显示ContextMenuStrip时选择的项。
发布于 2011-07-30 05:08:02
我玩了一点,下面是解决方案,在ContextMenuStrip.Opening处理程序中执行以下操作:toolStrip.Items.Cast<ToolStripItem>().Where(x => x.Selected).First()以获取当按下键以显示ContextMenuStrip时选择的项。
https://stackoverflow.com/questions/6878465
复制相似问题