Вопрос

Используя .NET 2.0 с WinForms, я хотел бы создать собственное меню с несколькими столбцами (похожее на внешний вид слова 2007, но без ленты).

Мой подход заключался в создании элемента управления и, используя закрепленную влево/вправо панель инструментов, я создал похожий внешний вид меню.Однако у этого решения есть несколько недостатков, таких как

  • элемент управления можно разместить и отобразить только внутри формы;
  • если форма слишком мала, некоторая область элемента управления не будет отображаться;
  • элемент управления также необходимо отображать/скрывать вручную.

Таким образом, я ищу способ отобразить этот элемент управления за пределами приложения.Создание новой формы приведет к деактивации строки заголовка на дисплее, так что это тоже исключено.В качестве альтернативы, любой другой подход к созданию индивидуального меню будет очень приветствоваться.

Редактировать:Я не хочу использовать для этого какие-либо коммерческие продукты;и поскольку речь идет о простой настройке меню, это никак не связано с «исследованиями» ленты Microsoft.

Это было полезно?

Решение

Класс MenuStrip имеет свойство Renderer.Вы можете назначить свой собственный производный класс ToolStripRenderer для настройки рисования.Это изрядный объем работы.

Другие советы

  • если вы не занимаетесь поставкой компонентов .net, вам следует покупать их в готовом виде.Чтобы получить такой контроль, нужно проделать большую работу. Уже есть поставщики, предоставляющие такой пользовательский интерфейс.например КомпонентОдин
  • если вы пытаетесь создать этот компонент как продукт, вам следует просмотреть ссылку ниже.Судя по всему, у Microsoft есть «безвозмездная» лицензия на пользовательский интерфейс Office, чтобы защитить свои инвестиции в исследования и разработки.На данный момент вам нужно сообщить им, что вы используете что-то похожее на пользовательский интерфейс Office. Больше об этом здесь
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top