Пересоздание стандартной панели инструментов в приложениях Windows Forms (только на C #) - PullRequest
2 голосов
/ 02 февраля 2011

Хорошо, я наконец пришел в себя и перестал пытаться изобретать велосипед всякий раз, когда вижу что-то, что, на мой взгляд, может выглядеть намного лучше: P

Как сделать так, чтобы панель инструментов выглядела лучше? Буду ли я использовать GDI / GDI + (на самом деле я их вообще мало использовал) или я каким-то образом унаследую от Control Toolbar и сделаю там магическое кодирование, чтобы изменить параметры визуального оформления, если это вообще возможно?

Я не ищу код (хотя он был бы полезен и ценится), а скорее некоторые простые, но глубокие статьи / учебные пособия или, может быть, даже некоторые бесплатные примеры приложений с исходным кодом, которые я могу читать / воспроизводить с.

У кого-нибудь есть идеи, как мне поступить? Просто чтобы дать вам представление о том, чего я пытаюсь достичь, я загрузил скриншот, который я нарисовал в Real-Draw Pro:

Screenshot sample of desired toolbar

Ответы [ 2 ]

2 голосов
/ 02 февраля 2011

Я думаю, что вы можете просто сделать это, установив свойство BackGroundImage и изменив их в событии MouseHover / MouseLeave.Для наилучшего эффекта поместите ToolStrip в элемент управления ToolStripPanel и установите синее фоновое изображение в качестве фонового изображения.

Это так просто.Я не вижу необходимости переходить к GDI +.

. Для правильного выравнивания меню можно добавить один Label с "option" Text и установить для Anchor значение * 1022.*

1 голос
/ 02 февраля 2011

Чтобы сделать это самостоятельно в WinForms, вам придётся заново изобрести колесо, а затем и еще немного.Пользовательское рисование с помощью GFI +, наследование и переопределение OnPaint ...

Лучшим достижением для достижения того, что вы нарисовали (относительно), было бы использование WPF - вы можете по-настоящему настроить каждый аспект пользовательского интерфейса в XAML.*

Если WPF не вариант, возможно, вы могли бы взглянуть на сторонние элементы управления, специализирующиеся на стилизации и оформлении пользовательского интерфейса.Опять же, это будет дешевле, чем разрабатывать это с нуля в WinForms.

...