Как создать 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
в наборе инструментов.
Соответствующие ссылки:
- MSDN: Практическое руководство. Создание базовой панели инструментов Windows Forms со стандартными элементами с помощью конструктора
- MSDN: Как: добавлять элементы ToolStrip динамически
- Угол C#: ToolStrip в C#
- Stackru: кнопка Windows.Forms с выпадающим меню - обсуждение альтернативных способов реализации этого вида управления. Один из ответов предлагает использовать автономный
ToolStrip
,