创建具有menu's特征的控件

本文关键字:特征 控件 menu 创建 | 更新日期: 2023-09-27 18:19:17

我可以创建一个具有两个菜单特征的控件吗?

  • 不要把表单的焦点放在点击上。
  • 点击外面自动消失

我打算手动绘制,但我意识到我不能像系统菜单一样在表单的边界外绘制。

创建具有menu's特征的控件

您正在描述ToolStripControlHost,它可以包含您想要的任何控件。与ToolStripDropDown配对,你有一个非常有效的自定义下拉控件,它不会从主表单中获取焦点,并且当在它外面单击时将关闭:

Dim toolDrop As New ToolStripDropDown()
Dim toolHost As New ToolStripControlHost(myControl)
toolHost.Margin = New Padding(0)
toolDrop.Padding = New Padding(0)
toolDrop.Items.Add(toolHost)
toolDrop.Show(Me, New Point(0, 0))

无论myControl是什么,有时你必须将它的MinimumSize设置为控件的大小。有事件你可以处理的ToolStripDropDown,如OpeningClosing

什么类型的控件?它是一个命令按钮吗?如果是,可以将Allow Focus Property设置为False