bar*_*rry 14 .net c# user-interface contextmenustrip
在选择/检查某些项目后,是否可以打开ContextMenuStrip?
我打算使用一个简单的ContextMenuStrip来设置过滤器(这样我可以在菜单中使用相同的过滤器或作为右键单击选项).
菜单列出了许多项目,我希望用户能够使用基本检查功能选择项目.选择完成后,用户可以单击"激活过滤器"选项,也可以单击菜单外部以激活或取消过滤器.
在选择/单击事件上,菜单通常会关闭.是否可以在点击事件中保持菜单打开?
小智 25
如果未来的程序员想知道如何做到这一点,这就是我想到的.如果单击任何项目,则不会关闭上下文菜单.如果关闭原因是itemclicked,则创建上下文菜单条关闭事件并设置if语句以取消关闭事件.
private void contextMenuStrip_Closing(object sender, ToolStripDropDownClosingEventArgs e)
{
if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
e.Cancel = true;
}
Run Code Online (Sandbox Code Playgroud)
小智 3
要防止单击某项时上下文菜单关闭,请执行以下操作。
在 ContextMenuItems 的 mousedown 事件中,将标志设置为 false,然后在上下文菜单的关闭事件中将其设置回 true。
例子:
Private blnClose As Boolean = True
Private Sub MoveUpToolStripMenuItem_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MoveUpToolStripMenuItem.MouseDown
blnClose = False
End Sub
Private Sub ContextMenuStrip1_Closing(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolStripDropDownClosingEventArgs) Handles ContextMenuStrip1.Closing
e.Cancel = Not blnClose
blnClose = True
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12672 次 |
| 最近记录: |