Стандартные строки меню Windows в Windows Forms
Я заметил, что добавление MenuStrip
(из панели инструментов) в мой дизайн формы не дает строку меню, как во многих родных приложениях Windows. Вместо этого я получаю строку меню, такую как Visual Studio. Ни один из параметров стиля для MenuStrip
появляются, чтобы имитировать гораздо более распространенным родное меню.
есть ли способ добавить строку меню в мое приложение Windows Forms, которое выглядит так же, как в блокноте, Диспетчере задач и других? (Желательно с дизайнером, но я бы не возражал добавить его программно.)
скриншот для примера:
4 ответов
Это легко.
Goto ваш Toolbox, щелкните правой кнопкой мыши в любом месте внутри и выберите "Выбрать элементы". Когда диалоговое окно загружается и появляется, прокрутите вниз, пока не увидите MainMenu. Добавьте это в Панель инструментов, и у вас есть собственная строка меню!
удачи в кодировании!
вы можете сделать это, установив форму Menu
свойство, например:
private void Form1_Load(object sender, EventArgs e)
{
this.Menu = new MainMenu();
MenuItem item = new MenuItem("File");
this.Menu.MenuItems.Add(item);
item.MenuItems.Add("Save", new EventHandler(Save_Click));
item.MenuItems.Add("Open", new EventHandler(Open_Click));
item = new MenuItem("Edit");
this.Menu.MenuItems.Add(item);
item.MenuItems.Add("Copy", new EventHandler(Copy_Click));
item.MenuItems.Add("Paste", new EventHandler(Paste_Click));
// etc ...
}
private void Save_Click(object sender, EventArgs e)
{
// save
}
эти меню будут выглядеть как "обычные" системные меню.
Я не смог найти никакой дизайнерской поддержки для этого. В свою защиту скажу, что я не очень старался.
Я обычно настройка управления menustrip это RenderMode
до System
что дает минималистское, одно цветовое меню (без градиентов или чего-либо декадентского).
Если это не зайдет достаточно далеко, то вам, вероятно, придется прыгать через некоторые низкоуровневые обручи, чтобы получить то, что вы хотите.