通过键盘获取启动ContextMenuStrip的ToolStripItem
本文关键字:ContextMenuStrip ToolStripItem 启动 获取 键盘 | 更新日期: 2023-09-27 18:04:03
在WinForms中,只有ToolStrip可以有ContextMenuStrip,而不是ToolStripItem。
因为我需要ContextMenuStrip知道哪个按钮用户指的,我有一个解决方案,当按钮按下鼠标(通过获得光标位置在ContextMenuStrip。打开,然后从ToolStrip获取项目),但我没有键盘选择的解决方案。理论上,可以尝试捕获ToolStrip的OnKeyDown,并尝试跟踪用户操作选择的项目,但在实践中,如果ToolStrip溢出,它可能会变得相当复杂,可能不可靠。
有什么解决办法吗?
解决方案:
我玩了一点,这是解决方案,在ContextMenuStrip。开始处理程序这样做:
toolStrip.Items.Cast<ToolStripItem>().Where(x => x.Selected).First()
获取按下键显示ContextMenuStrip时选择的项。我玩了一点,这里是解决方案,在ContextMenuStrip。打开处理程序执行以下操作:toolStrip.Items.Cast<ToolStripItem>().Where(x => x.Selected).First()
获取在按下键以显示ContextMenuStrip时选中的项。