从 ToolStripDropDown 显示 ContextMenuStrip 而不关闭 ToolStripDropDown
我有一个ToolStrip
。在我的 ToolStrip
中,我有一个 ToolStripDropDownButton
。我的 ToolStripDropDownButton
有一个 ToolStripDropDown
类型的 DropDown,其中包含一个 ToolStripControlHost
,其中包含一个 Label
。我已将 ContextMenuStrip
分配给我的 Label
。当我显示 DropDown 并右键单击标签时,ContextMenuStrip
显示正确,但原始 DropDown 被忽略。
我可以理解底层代码的存在,以防止同时显示两个“ToolStripItems”,并且我假设这就是我在这里遇到的情况。有人知道解决办法吗?
I have a ToolStrip
. In my ToolStrip
I have a ToolStripDropDownButton
. My ToolStripDropDownButton
has a DropDown of type ToolStripDropDown
that contains a ToolStripControlHost
which contains a Label
. I have assigned a ContextMenuStrip
to my Label
. When I show the DropDown and right-click on the label, the ContextMenuStrip
displays correctly, but the original DropDown is dismissed.
I can understand the existence of underlying code to prevent the display of two "ToolStripItems" at the same time and I'm assuming that's what I'm running in to here. Anybody know of a way around it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
事实证明,这可以通过创造性地使用 ToolStripDropDown 类上的 AutoClose 属性来实现:
首先,在“标签右键单击”上,将 ToolStripDropDown 的 AutoClose 设置为 false 并显示上下文菜单。
其次,在 ContextMenu 关闭时,将 ToolStripDropDown 的 AutoClose 重置为 true。
Turns out this can be accomplished with creative use of the AutoClose property on the ToolStripDropDown class:
First, on Label Right Click, set AutoClose of the ToolStripDropDown to false and show context menu.
Second, on ContextMenu dismissal, reset AutoClose of the ToolStripDropDown to true.