How to create a ToolStripDropDownButton?

4.2k Views Asked by At

I want to create a ToolStripDropDownButton which looks like the below imageenter image description here

But when I tried to search for ToolStripDropDownButton control in the Toolbox I was unable to find it because, after some googling, I found out that it is a class not namespace.

Then I googled out the code below

ToolStripDropDownButton dropDownButton1 = new ToolStripDropDownButton();
ToolStripDropDown dropDown = new ToolStripDropDown();
dropDownButton1.Text = "A";
dropDownButton1.DropDown = dropDown;
dropDownButton1.Height = 200;
dropDownButton1.Width = 200;

Set the drop-down direction.
dropDownButton1.DropDownDirection = ToolStripDropDownDirection.Left;

// Do not show a drop-down arrow.
dropDownButton1.ShowDropDownArrow = false;

Controls.Add((Control)dropDownButton1); //Doesn't work

But the last line of code is not valid and gives runtime error

Cannot convert type 'System.Windows.Forms.ToolStripDropDownButton' to 'System.Windows.Forms.Control'

Can someone tell me how to add such a button in C# Windows Form or what am I missing in the code?
Platform : VS2008 Express (i know it's old)

1

There are 1 best solutions below

0
On

The error message says that ToolStripDropDownButton is not a Control and thus, you can't add it to your form directly.

ToolStripDropDownButton and other tool strip items only work as a part of a ToolStrip. So, you need to put a toolstrip on your form, then you can add items to it.

Code example, if you want to do it programmatically:

ToolStrip toolStrip = new System.Windows.Forms.ToolStrip();
toolStrip.Items.Add(dropDownButton1);
Controls.Add(toolStrip);

It looks like your code comes from ShowDropDownArrow example on MSDN. Check out the complete code.

Also, you can do it in a form designer in Visual Studio. Look for ToolStrip in a toolbox.

Relevant links: