我可以创建一个具有2个菜单特征的控件:
我打算手动绘制它,但我意识到我不能像系统菜单那样在窗体边框之外绘制。
答案 0 :(得分:2)
您正在描述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处理事件,例如Opening
和Closing
。
答案 1 :(得分:0)
Allow Focus
属性设置为 False 。