通过键盘获取启动ContextMenuStrip的ToolStripItem

本文关键字:ContextMenuStrip ToolStripItem 启动 获取 键盘 | 更新日期: 2023-09-27 18:04:03

在WinForms中,只有ToolStrip可以有ContextMenuStrip,而不是ToolStripItem。

因为我需要ContextMenuStrip知道哪个按钮用户指的,我有一个解决方案,当按钮按下鼠标(通过获得光标位置在ContextMenuStrip。打开,然后从ToolStrip获取项目),但我没有键盘选择的解决方案。理论上,可以尝试捕获ToolStrip的OnKeyDown,并尝试跟踪用户操作选择的项目,但在实践中,如果ToolStrip溢出,它可能会变得相当复杂,可能不可靠。

有什么解决办法吗?

解决方案:

我玩了一点,这是解决方案,在ContextMenuStrip。开始处理程序这样做:

通过键盘获取启动ContextMenuStrip的ToolStripItem

toolStrip.Items.Cast<ToolStripItem>().Where(x => x.Selected).First()获取按下键显示ContextMenuStrip时选择的项。

我玩了一点,这里是解决方案,在ContextMenuStrip。打开处理程序执行以下操作:toolStrip.Items.Cast<ToolStripItem>().Where(x => x.Selected).First()获取在按下键以显示ContextMenuStrip时选中的项。

相关文章:
  • 没有找到相关文章