Как создать ToolStripDropDownButton?

Я хочу создать ToolStripDropDownButton, который выглядит как на изображении ниже введите описание изображения здесь

Но когда я попытался найти элемент управления ToolStripDropDownButton в панели инструментов, я не смог его найти, потому что после некоторого поиска я обнаружил, что это класс, а не пространство имен.

Тогда я погуглил код ниже

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

Но последняя строка кода неверна и выдает ошибку времени выполнения

Не удается преобразовать тип "System.Windows.Forms.ToolStripDropDownButton" в "System.Windows.Forms.Control"

Может кто-нибудь сказать мне, как добавить такую ​​кнопку в C# Windows Form или что мне не хватает в коде?
Платформа: VS2008 Express (я знаю, что она старая)

1 ответ

Сообщение об ошибке говорит, что ToolStripDropDownButton не является элементом управления, и, следовательно, вы не можете добавить его в форму напрямую.

ToolStripDropDownButton и другие элементы полосы инструмента работают только как часть ToolStrip, Итак, вам нужно поместить на форму инструментальную полоску, а затем добавить в нее элементы.

Пример кода, если вы хотите сделать это программно:

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

Похоже, ваш код взят из примера ShowDropDownArrow на MSDN. Проверьте полный код.

Кроме того, вы можете сделать это в конструкторе форм в Visual Studio. Ищу ToolStrip в наборе инструментов.

Соответствующие ссылки:

Другие вопросы по тегам