Стандартные строки меню 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
}

эти меню будут выглядеть как "обычные" системные меню.

Я не смог найти никакой дизайнерской поддержки для этого. В свою защиту скажу, что я не очень старался.


вместо с MainMenu компонента вы можете создать свой собственный рендерер для


Я обычно настройка управления menustrip это RenderMode до System что дает минималистское, одно цветовое меню (без градиентов или чего-либо декадентского).

Если это не зайдет достаточно далеко, то вам, вероятно, придется прыгать через некоторые низкоуровневые обручи, чтобы получить то, что вы хотите.