Скиннинг C # контролирует? - PullRequest
       14

Скиннинг C # контролирует?

0 голосов
/ 29 января 2011


Есть ли способ создать новый скин для элемента управления C #?
например, я хочу иметь просмотр списка с той же функциональностью, что и по умолчанию, но с совершенно другим видом.
спасибо:)

Ответы [ 5 ]

4 голосов
/ 29 января 2011

Зависит от вашей библиотеки.

Формы выигрыша: утомительно и очень сложно сделать.У вас не будет волос на голове после того, как вы закончите со стилем одного элемента управления.

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

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

2 голосов
/ 29 января 2011

Тем не менее, если вы используете Windows.Forms и хотите изменить внешний вид элементов управления, это будет немного сложнее.

Вам придется создать производный класс из элемента управления, переопределить события OnPaint и OnPaintBackground и реализовать собственный код.

1 голос
/ 30 января 2011

Я уже ходил по этому маршруту, и это не красиво.В конце концов, я не изменил контроль.У нас была проблема с деревом WinForms.Это сказка для другого времени.

В WinForms, тогда да, вы создаете производную версию для элемента управления, который хотите редактировать.И прямо на OnPaint и соответствующие методы рисования.Для дерева это был кошмар, так что не делали этого в конце концов.Если бы у вас не было опыта рисования элементов управления с нуля, я бы не стал рассматривать этот вариант.

Если вы работаете в WPF, все элементы управления гораздо проще состоят из визуальных элементов, и их намного проще изменить.WPF имеет меньше элементов управления и полагается на то, что разработчик их редактирует для собственных нужд.Лично мне нужны более простые элементы управления WPF, такие как WinForms, но опять-таки это еще одна история.

Другие 2 варианта: запустить новый элемент управления с нуля или найти его в Интернете и приобрести его.Многие веб-сайты продают пользовательские элементы управления .net.

1 голос
/ 29 января 2011

Как говорит Фемареф, в WPF есть много возможностей, но в WinForms это довольно сложно.

Если вы хотите пойти немного дальше, чем страница, на которую он ссылается (она охватывает только стили),Вас может заинтересовать пункт «шаблоны и стили» на боковой панели той же страницы: шаблоны и стили и часть шаблонов там: шаблоны .С помощью шаблонов вы можете делать большинство вещей, которые вы не можете делать со стилями.Довольно простой пример (который вы найдете почти в каждом уроке о шаблонах) - это кнопка с эллипсом.Кроме того, вы также можете переопределить другие вещи, например указатель мыши и появление щелчка мышью, используя триггеры.

Надеюсь, это поможет;)

1 голос
/ 29 января 2011

Да, с WPF все возможно.Но если вы привыкли только к Windows Forms, имейте в виду, что WPF - это новая технология с новыми концепциями, для изучения которых требуется некоторое время.

...