ToolStripDropDown Class
Represents a control that allows the user to select a single item from a list that is displayed when the user clicks a ToolStripDropDownButton. Although ToolStripDropDownMenu and ToolStripDropDown replace and add functionality to the Menu control of previous versions, Menu is retained for both backward compatibility and future use if you choose.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
The following code example uses the ToolStripDropDown and ToolStripDropDownButton classes to make a three-button color picker that changes the foreground color of the form.
' Declare the drop-down button and the items it will contain. Friend WithEvents dropDownButton1 As ToolStripDropDownButton Friend WithEvents dropDown As ToolStripDropDown Friend WithEvents buttonRed As ToolStripButton Friend WithEvents buttonBlue As ToolStripButton Friend WithEvents buttonYellow As ToolStripButton Private Sub InitializeDropDownButton() dropDownButton1 = New ToolStripDropDownButton() dropDown = New ToolStripDropDown() dropDownButton1.Text = "A" ' Set the drop-down on the ToolStripDropDownButton. dropDownButton1.DropDown = dropDown ' Set the drop-down direction. dropDownButton1.DropDownDirection = ToolStripDropDownDirection.Left ' Do not show a drop-down arrow. dropDownButton1.ShowDropDownArrow = False ' Declare three buttons, set their foreground color and text, ' and add the buttons to the drop-down. buttonRed = New ToolStripButton() buttonRed.ForeColor = Color.Red buttonRed.Text = "A" buttonBlue = New ToolStripButton() buttonBlue.ForeColor = Color.Blue buttonBlue.Text = "A" buttonYellow = New ToolStripButton() buttonYellow.ForeColor = Color.Yellow buttonYellow.Text = "A" dropDown.Items.AddRange(New ToolStripItem() {buttonRed, buttonBlue, buttonYellow}) toolStrip1.Items.Add(dropDownButton1) End Sub ' Handle the buttons' click event by setting the foreground color of the ' form to the foreground color of the button that is clicked. Public Sub colorButtonsClick(ByVal sender As [Object], ByVal e As EventArgs) _ Handles buttonRed.Click, buttonBlue.Click, buttonYellow.Click Dim senderButton As ToolStripButton = CType(sender, ToolStripButton) Me.ForeColor = senderButton.ForeColor End Sub
The following code example uses ToolStripControlHost to show a ToolStripDropDown as a TreeView.
Imports System Imports System.Collections.Generic Imports System.ComponentModel Imports System.Data Imports System.Drawing Imports System.Text Imports System.Windows.Forms Imports System.Security.Permissions Public Class Form1 Inherits Form Public Sub New() Dim treeCombo As New MyTreeViewCombo() treeCombo.MyTreeView.Nodes.Add("one") treeCombo.MyTreeView.Nodes.Add("two") treeCombo.MyTreeView.Nodes.Add("three") Me.Controls.Add(treeCombo) End Sub <STAThread()> _ Shared Sub Main() Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(False) Application.Run(New Form1()) End Sub <SecurityPermissionAttribute( _ SecurityAction.LinkDemand, Flags:=SecurityPermissionFlag.UnmanagedCode)> _ Public Class MyTreeViewCombo Inherits ComboBox Private treeViewHost As ToolStripControlHost Private Shadows dropDown As ToolStripDropDown Public Sub New() Dim treeView As New TreeView() treeView.BorderStyle = BorderStyle.None treeViewHost = New ToolStripControlHost(treeView) dropDown = New ToolStripDropDown() dropDown.Items.Add(treeViewHost) End Sub Public ReadOnly Property MyTreeView() As TreeView Get Return treeViewHost.Control ' End Get End Property Private Sub ShowDropDown() If Not (dropDown Is Nothing) Then treeViewHost.Width = DropDownWidth treeViewHost.Height = DropDownHeight dropDown.Show(Me, 0, Me.Height) End If End Sub Private Const WM_USER As Integer = &H400 Private Const WM_REFLECT As Integer = WM_USER + &H1C00 Private Const WM_COMMAND As Integer = &H111 Private Const CBN_DROPDOWN As Integer = 7 Public Shared Function HIWORD(ByVal n As Integer) As Integer Return (n >> 16) And &HFFFF End Function Protected Overrides Sub WndProc(ByRef m As Message) If m.Msg = WM_REFLECT + WM_COMMAND Then If HIWORD(CType(m.WParam, Integer)) = CBN_DROPDOWN Then ShowDropDown() Return End If End If MyBase.WndProc(m) End Sub Protected Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (dropDown Is Nothing) Then dropDown.Dispose() dropDown = Nothing End If End If MyBase.Dispose(disposing) End Sub End Class End Class
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.