Я заметил то добавление a MenuStrip
(от Панели инструментов) к моей форме дизайн не приводит к строке меню как один замеченный во многих собственных Приложениях Windows. Вместо этого я получаю строку меню как собственная Visual Studio. Ни одна из настроек стиля для MenuStrip
кажись, подражать намного более общей панели собственного меню.
Существует ли способ добавить строку меню к моему приложению Windows Forms, которое выглядит одинаково как тот, который Вы видите в Блокноте, Диспетчере задач и других? (Предпочтительно с разработчиком, но я не возражал бы добавлять его программно также.)
Снимок экрана для иллюстрации:
Это просто.
Перейдите в панель инструментов, щелкните правой кнопкой мыши в любом месте внутри и выберите «Выбрать элементы». Когда диалоговое окно загрузится и появится, прокрутите вниз, пока не увидите MainMenu. Добавьте это на панель инструментов, и вы получите собственную панель меню!
Удачного кодирования!
Обычно я устанавливаю RenderMode
MenuStrip в System
, что дает минималистичное, одноцветное меню (без градиентов или чего-то декадентского).
Если этого недостаточно, то вам, вероятно, придется пройти через некоторые низкоуровневые обручи, чтобы получить то, что вы хотите.
Вы можете сделать это, установив свойство 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
}
Эти меню будут выглядеть как "нормальная" система меню.
Однако мне не удалось найти поддержки дизайнера для этого. В свою защиту я особо не старался.