2012-01-02 44 views
1

我可以創建具有2菜單的特性的控制:創建一個具有菜單特徵的控件?

  • 別拿形式的重點點擊。
  • 單擊外部時自動消失。

我打算手工繪製它,但是我意識到我不能像系統菜單那樣在窗體的邊界之外繪製圖形。

回答

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處理一些事件,如OpeningClosing

+0

謝謝你的作品!無論如何,你使用VB.NET,但我看到變量名稱是Java風格,哈哈。 – 2012-01-02 15:20:28

0

什麼樣的控制?它是一個CommandButton嗎?如果是這樣,你可以設置Allow Focus屬性爲

+0

誰是'AllowFocus'屬性?我找到所有UserControl屬性,但找不到那個屬性。 – 2012-01-02 14:02:40