Темите са чудесен начин да позволите на вашите потребители да персонализират вашето приложение, без да се налага да се занимавате твърде много с конкретни подробности.
Обичайно е съвременните приложения да имат опция за превключване между различни теми. Например, някои приложения ви позволяват да сменяте между светла тема или тъмна тема, докато други може да имат повече възможности за избор на тема.
Windows Forms е UI рамка, която ви позволява да създавате настолни приложения. Можете да внедрите теми в приложение за формуляр на Windows, като създадете избираеми бутони за всяка тема.
Когато потребителят избере тема, можете да промените свойствата на цвета на фона или цвета на текста на всеки елемент, за да съответства на избраната тема.
Как да настроите проекта Windows Form
Първо създайте ново приложение за формуляр на Windows. Попълнете новия проект с някои основни контроли, като бутони и етикети.
- Създавам ново приложение Windows Forms във Visual Studio.
- В новия проект използвайте кутията с инструменти, за да търсите контрола с бутон.
- Изберете бутон за управление и го плъзнете върху платното. Добавете общо три бутона за управление.
- С помощта на кутията с инструменти щракнете и плъзнете a контрол на етикета върху платното. Поставете етикета под бутоните.
- Стилизирайте бутоните и етикетите с помощта на прозореца със свойства. Променете свойствата на следното:
контрол Име на собственост Нова стойност бутон1 Размер 580, 200 FlatStyle Апартамент Текст Потребители бутон2 Размер 580, 100 FlatStyle Апартамент Текст Сметки бутон3 Размер 580, 100 FlatStyle Апартамент Текст Разрешения етикет1 Текст Авторско право 2022 г
Как да създадете бутона за настройки и списъка с теми
За да работи едно просто меню с теми, създайте множество бутони, които да представят всяка тема. Приложението ще включва три теми, "Светла" тема, "Природа" тема и "Тъмна" тема.
- Добавете друг контролен бутон към платното, за да представите бутона за настройки (или „Теми“).
- Променете свойствата на този бутон на следните:
Име на собственост Нова стойност Име btnThemeSettings FlatStyle Апартамент Размер 200, 120 Текст Теми - Плъзнете още три бутона върху платното. Тези бутони ще представляват трите различни теми. Променете свойствата за всеки от бутоните на следното:
контрол Име на собственост Нова стойност 1-ви бутон Име btnLightTheme BackColor WhiteSmoke Размер 200, 80 FlatStyle Апартамент Текст Светлина Видими Невярно 2-ри бутон Име btnNatureTheme BackColor DarkSeaGreen Размер 200, 80 FlatStyle Апартамент Текст Природата Видими Невярно 3-ти бутон Име btnDarkTheme BackColor DimGray ForeColor Бяло Размер 200, 80 FlatStyle Апартамент Текст Тъмно Видими Невярно - Щракнете двукратно върху Теми бутон. Това ще създаде метод за обработка на събитието „on click“. Методът ще се стартира, когато потребителят щракне върху този бутон.
- По подразбиране темите „Светли“, „Природа“ и „Тъмни“ няма да се виждат. Вътре във функцията добавете функционалността за превключване на видимостта на бутоните за показване или скриване.
частенневалиденbtnThemeSettings_Click(изпращащ обект, EventArgs e)
{
btnNatureTheme. Видим = !btnNatureTheme. Видим;
btnLightTheme. Видим = !btnLightTheme. Видим;
btnDarkTheme. Видим = !btnDarkTheme. Видим;
} - Стартирайте приложението, като щракнете върху зеления бутон за възпроизвеждане в горната част на прозореца на Visual Studio.
- По време на изпълнение приложението ще скрие бутоните за всяка от трите теми по подразбиране.
- Кликнете върху Теми бутон за превключване на темите за показване. Можете да продължите да натискате Теми бутон за превключване на тяхната видимост.
Как да управлявате своите теми
Създайте речници за всяка тема, за да съхранявате различните цветове, които ще използва. Това е така, че да съхранявате всичките си цветове на темата на едно място, в случай че трябва да ги използвате няколко пъти. Освен това улеснява, ако искате да актуализирате тема с нови цветове в бъдеще.
- В горната част на по подразбиране Form1.cs C# файл и вътре в форма клас, създайте глобално enum. Това преброяване ще съхранява различните видове цветове, които ще използвате в дадена тема.
изброяване Цвят на темата
{
основно,
Втори,
трето образование,
Текст
} - Отдолу декларирайте три глобални речника, по един за всяка от трите теми. Можете да прочетете повече за речниците, ако не сте запознати с това как да използвате a речник в C#.
Речник<Цвят на темата, цвят> Light = нов речник<Цвят на темата, цвят>();
Речник<Цвят на темата, цвят> Природа = нов речник<Цвят на темата, цвят>();
Речник<Цвят на темата, цвят> Тъмно = нов речник<Цвят на темата, цвят>(); - Вътре в конструктора инициализирайте речниците. Добавете стойности за различните цветове, които всяка тема ще използва.
публичен Form1()
{
InitializeComponent();
// Добавяне на речници тук
Light = нов речник<Цвят на темата, цвят>() {
{Цвят на темата. Основен, Цвят. WhiteSmoke},
{Цвят на темата. Вторичен, Цвят. сребро},
{Цвят на темата. Третичен, Цвят. бяло},
{Цвят на темата. Текст, цвят. черно }
};
Природа = нов речник<Цвят на темата, цвят>() {
{Цвят на темата. Основен, Цвят. DarkSeaGreen},
{Цвят на темата. Вторичен, Цвят. AliceBlue},
{Цвят на темата. Третичен, Цвят. медена роса},
{Цвят на темата. Текст, цвят. черно }
};
Тъмно = нов речник<Цвят на темата, цвят>() {
{Цвят на темата. Основен, Цвят. DimGray},
{Цвят на темата. Вторичен, Цвят. DimGray},
{Цвят на темата. Третичен, Цвят. Черно },
{Цвят на темата. Текст, цвят. бяло }
};
}
Как да промените темата
Създайте функции за управление на темата на приложението. Тези функции ще променят цвета на фона или цвета на текста на елементите на потребителския интерфейс върху платното.
- Създайте нова функция, наречена Промяна на темата(). Функцията ще приеме цветовете за дадена тема като аргументи.
- Вътре във функцията променете свойствата на цвета на фона на елементите на потребителския интерфейс. Новите цветове на фона ще използват цветове за избраната тема.
частенневалиденChangeTheme(Цвят първичен Цвят, Цвят вторичен Цвят, Цвят третичен Цвят)
{
// Промяна на цвета на фона на бутоните
btnThemeSettings. BackColor = първичен цвят;
button1.BackColor = primaryColor;
button2.BackColor = secondaryColor;
button3.BackColor = secondaryColor;
това.BackColor = tertiaryColor;
} - Създайте нова функция, наречена ChangeTextColor(). Можете да използвате това, за да промените цвета на текста между тъмен и светъл. Това е, за да се гарантира, че текстът на тъмен фон все още ще бъде четим.
частенневалиденChangeTextColor(Цвят на текстаЦвят)
{
// промяна цвят натекст
button1.ForeColor = textColor;
button2.ForeColor = textColor;
button3.ForeColor = textColor;
label1.ForeColor = textColor;
btnThemeSettings. ForeColor = textColor;
} - От дизайнера щракнете двукратно върху контролата на бутона "Светлина". Това ще отвори файла със задния код и ще генерира манипулатор на събития, когато потребителят щракне върху бутона.
- Вътре в манипулатора на събития използвайте Промяна на темата() и ChangeTextColor() функции. Въведете цветовете, които използва темата. Можете да извлечете тези цветове от речника на темата "Light".
частенневалиденbtnLightTheme_Click(изпращащ обект, EventArgs e)
{
ChangeTheme(Светлина[Цвят на темата. първичен], Светлина[Цвят на темата. Втори], Светлина[Цвят на темата. трето образование]);
ChangeTextColor(Светлина[Цвят на темата. Текст]);
} - Върнете се в дизайнера и кликнете върху бутоните "Nature" и "Dark". Използвай Промяна на темата() и ChangeTextColor() функции и в техните манипулатори на събития.
частенневалиденbtnNatureTheme_Click(изпращащ обект, EventArgs e)
{
ChangeTheme(Природата[Цвят на темата. първичен], Природата[Цвят на темата. Втори], Природата[Цвят на темата. трето образование]);
ChangeTextColor(Природата[Цвят на темата. Текст]);
}
частенневалиденbtnDarkTheme_Click(изпращащ обект, EventArgs e)
{
ChangeTheme(Тъмно[Цвят на темата. първичен], Тъмно[Цвят на темата. Втори], Тъмно[Цвят на темата. трето образование]);
ChangeTextColor(Тъмно[Цвят на темата. Текст]);
} - По подразбиране темата трябва да бъде зададена на „Светла“, когато потребителят отвори приложението за първи път. В конструктора, под речниците, използвайте Промяна на темата() и ChangeTextColor() функции.
ChangeTheme(Светлина[Цвят на темата. първичен], Светлина[Цвят на темата. Втори], Светлина[Цвят на темата. трето образование]);
ChangeTextColor(Светлина[Цвят на темата. Текст]); - Стартирайте приложението, като щракнете върху зеления бутон за възпроизвеждане в горната част на прозореца на Visual Studio.
- По подразбиране приложението използва темата „Light“ и прилага сивата цветова схема към контролите на потребителския интерфейс. Превключете бутона за теми, за да видите списъка с теми.
- Кликнете върху темата Природа.
- Кликнете върху тъмната тема.
Създаване на приложения чрез Windows Forms
Много приложения позволяват на потребителя да превключва между множество теми. Можете да добавите теми към приложение на Windows Forms, като създадете опции, които потребителят да избира.
Когато потребителят щракне върху тема, можете да промените цвета на фона, текста или всякакви други свойства, за да съответстват на цветовете, използвани в избраната тема.
Цветовете за всяка от темите използват вградените цветове на Visual Studio. Ще трябва да използвате подходяща цветова схема, за да предоставите на потребителите по-добро изживяване. Можете да научите повече за различните начини, по които можете да изберете цветова схема за вашето приложение.