Теме су одличан начин да омогућите корисницима да прилагоде вашу апликацију без потребе да се превише уплићу у одређене детаље.
Уобичајено је да модерне апликације имају опцију за пребацивање између различитих тема. На пример, неке апликације вам омогућавају да мењате светлу или тамну тему, док друге могу имати више избора тема.
Виндовс Формс је УИ оквир који вам омогућава да креирате десктоп апликације. Можете имплементирати теме у апликацију за Виндовс образац тако што ћете креирати дугмад за сваку тему.
Када корисник одабере тему, можете променити боју позадине или боју текста сваког елемента тако да одговара изабраној теми.
Како да подесите пројекат Виндовс Форм
Прво направите нову апликацију за Виндовс образац. Попуните нови пројекат неким основним контролама, као што су дугмад и ознаке.
- Створити нова апликација Виндовс Формс у Висуал Студио.
- У новом пројекту користите оквир са алаткама да бисте потражили контролу дугмета.
- Изаберите контрола дугмета и превуците га на платно. Додајте укупно три контроле дугмета.
- Користећи оквир са алаткама, кликните и превуците а контрола етикета на платну. Поставите етикету испод дугмади.
- Стилизирајте дугмад и ознаке помоћу прозора са својствима. Промените својства на следеће:
Контрола Назив имовине Нова вредност дугме1 Величина 580, 200 ФлатСтиле Раван Текст Корисници дугме2 Величина 580, 100 ФлатСтиле Раван Текст Рачуни дугме3 Величина 580, 100 ФлатСтиле Раван Текст Дозволе лабел1 Текст Ауторско право 2022
Како да креирате дугме за подешавања и листу тема
Да би једноставан мени тема функционисао, направите више дугмади за представљање сваке теме. Апликација ће укључивати три теме, „Светло“, тему „Природа“ и „Тамну“.
- Додајте још једну контролу дугмета на платно да представља дугме за подешавања (или „Теме“).
- Промените својства овог дугмета на следеће:
Назив имовине Нова вредност Име бтнТхемеСеттингс ФлатСтиле Раван Величина 200, 120 Текст Теме - Превуците још три дугмета на платно. Ова дугмад ће представљати три различите теме. Промените својства за свако од дугмади на следеће:
Контрола Назив имовине Нова вредност 1. дугме Име бтнЛигхтТхеме БацкЦолор Бели дим Величина 200, 80 ФлатСтиле Раван Текст Светлост Видљиво Фалсе 2нд Буттон Име бтнНатуреТхеме БацкЦолор ДаркСеаГреен Величина 200, 80 ФлатСтиле Раван Текст Природа Видљиво Фалсе 3рд Буттон Име бтнДаркТхеме БацкЦолор ДимГраи ФореЦолор бео Величина 200, 80 ФлатСтиле Раван Текст Дарк Видљиво Фалсе - Двапут кликните на Теме дугме. Ово ће креирати метод за руковање догађајем „на клик“. Метода ће се покренути када корисник кликне на ово дугме.
- Подразумевано, теме „Светло“, „Природа“ и „Тамна“ неће бити видљиве. Унутар функције додајте функцију за пребацивање видљивости дугмади да бисте их приказали или сакрили.
приватнипразнинабтнТхемеСеттингс_Цлицк(пошиљалац објекта, ЕвентАргс е)
{
бтнНатуреТхеме. Видљиво = !бтнНатуреТхеме. Видљиво;
бтнЛигхтТхеме. Видљиво = !бтнЛигхтТхеме. Видљиво;
бтнДаркТхеме. Видљиво = !бтнДаркТхеме. Видљиво;
} - Покрените апликацију тако што ћете кликнути на зелено дугме за репродукцију на врху прозора Висуал Студио.
- Током рада, апликација ће подразумевано сакрити дугмад за сваку од три теме.
- Кликните на Теме дугме за пребацивање тема за приказ. Можете наставити да притискате Теме дугме да бисте променили њихову видљивост.
Како да управљате својим темама
Направите речнике за сваку тему да бисте сачували различите боје које ће користити. Ово је тако да чувате све своје боје теме на једном месту, у случају да их морате користити више пута. Такође олакшава ако желите да ажурирате тему новим бојама у будућности.
- На врху подразумеваног Форм1.цс Ц# датотеку и унутар Форма класе, креирајте глобални енум. Овај енум ће чувати различите врсте боја које ћете користити у теми.
енум ТхемеЦолор
{
Примарни,
секундарни,
терцијар,
Текст
} - Испод, прогласите три глобална речника, по један за сваку од три теме. Можете прочитати више о речницима ако нисте упознати са коришћењем а речник у Ц#.
Речник<Боја теме, боја> Светлост = нови речник<Боја теме, боја>();
Речник<Боја теме, боја> Природа = нови речник<Боја теме, боја>();
Речник<Боја теме, боја> Тамно = нови речник<Боја теме, боја>(); - Унутар конструктора иницијализујте речнике. Додајте вредности за различите боје које ће свака тема користити.
јавности Форм1()
{
ИнитиализеЦомпонент();
// Овде додајте речнике
Светлост = нови речник<Боја теме, боја>() {
{ ТхемеЦолор. Примарно, боја. Бели дим },
{ ТхемеЦолор. Секундарни, боја. Сребро },
{ ТхемеЦолор. Терцијар, боја. Бео },
{ ТхемеЦолор. Текст, боја. Црн }
};
Природа = нови речник<Боја теме, боја>() {
{ ТхемеЦолор. Примарно, боја. ДаркСеаГреен },
{ ТхемеЦолор. Секундарни, боја. АлицеБлуе },
{ ТхемеЦолор. Терцијар, боја. медена роса },
{ ТхемеЦолор. Текст, боја. Црн }
};
Тамно = нови речник<Боја теме, боја>() {
{ ТхемеЦолор. Примарно, боја. ДимГраи },
{ ТхемеЦолор. Секундарни, боја. ДимГраи },
{ ТхемеЦолор. Терцијар, боја. Црн },
{ ТхемеЦолор. Текст, боја. Бео }
};
}
Како променити тему
Креирајте функције за управљање темом апликације. Ове функције ће променити боју позадине или боју текста елемената корисничког интерфејса на платну.
- Креирајте нову функцију под називом Промена тема(). Функција ће узети боје за тему као аргументе.
- Унутар функције промените својства боје позадине елемената корисничког интерфејса. Нове боје позадине ће користити боје за изабрану тему.
приватнипразнинаПромена тема(Примарна боја боја, секундарна боја, терцијарна боја боја)
{
// Промена боје позадине дугмади
бтнТхемеСеттингс. БацкЦолор = примарнаБоја;
буттон1.БацкЦолор = примарнаБоја;
буттон2.БацкЦолор = сецондариЦолор;
буттон3.БацкЦолор = сецондариЦолор;
ово.БацкЦолор = терцијарна боја;
} - Креирајте нову функцију под називом ЦхангеТектЦолор(). Ово можете користити да промените боју текста између тамне и светле. Ово је да би се осигурало да ће текст на тамној позадини и даље бити читљив.
приватнипразнинаЦхангеТектЦолор(Боја текстаБоја)
{
// Промена боја офтекст
буттон1.ФореЦолор = тектЦолор;
буттон2.ФореЦолор = тектЦолор;
буттон3.ФореЦолор = тектЦолор;
лабел1.ФореЦолор = тектЦолор;
бтнТхемеСеттингс. ФореЦолор = тектЦолор;
} - У дизајнеру двапут кликните на контролу дугмета „Лигхт“. Ово ће отворити датотеку иза кода и генерисати обрађивач догађаја када корисник кликне на дугме.
- Унутар обрађивача догађаја користите Промена тема() и ЦхангеТектЦолор() функције. Унесите боје које тема користи. Ове боје можете преузети из речника тема „Светло“.
приватнипразнинабтнЛигхтТхеме_Цлицк(пошиљалац објекта, ЕвентАргс е)
{
Промена тема(Светлост[ТхемеЦолор. Примарни], Светлост[ТхемеЦолор. секундарни], Светлост[ТхемеЦолор. терцијар]);
ЦхангеТектЦолор(Светлост[ТхемеЦолор. Текст]);
} - Вратите се на дизајнер и кликните на дугме "Природа" и "Тамно". Користити Промена тема() и ЦхангеТектЦолор() функције и у њиховим обрађивачима догађаја.
приватнипразнинабтнНатуреТхеме_Цлицк(пошиљалац објекта, ЕвентАргс е)
{
Промена тема(Природа[ТхемеЦолор. Примарни], Природа[ТхемеЦолор. секундарни], Природа[ТхемеЦолор. терцијар]);
ЦхангеТектЦолор(Природа[ТхемеЦолор. Текст]);
}
приватнипразнинабтнДаркТхеме_Цлицк(пошиљалац објекта, ЕвентАргс е)
{
Промена тема(Дарк[ТхемеЦолор. Примарни], Дарк[ТхемеЦолор. секундарни], Дарк[ТхемеЦолор. терцијар]);
ЦхангеТектЦолор(Дарк[ТхемеЦолор. Текст]);
} - Подразумевано, тема треба да буде постављена на тему „Светло“ када корисник први пут отвори апликацију. У конструктору, испод речника, користите Промена тема() и ЦхангеТектЦолор() функције.
Промена тема(Светлост[ТхемеЦолор. Примарни], Светлост[ТхемеЦолор. секундарни], Светлост[ТхемеЦолор. терцијар]);
ЦхангеТектЦолор(Светлост[ТхемеЦолор. Текст]); - Покрените апликацију тако што ћете кликнути на зелено дугме за репродукцију на врху прозора Висуал Студио.
- Подразумевано, апликација користи тему „Светло“ и примењује шему сиве боје на контроле корисничког интерфејса. Пребаците дугме за теме да бисте видели листу тема.
- Кликните на тему Природа.
- Кликните на тамну тему.
Креирање апликација користећи Виндовс Формс
Многе апликације омогућавају кориснику да прелази између више тема. Можете додати теме у апликацију Виндовс Формс креирањем опција које корисник може изабрати.
Када корисник кликне на тему, можете променити боју позадине, текст или било која друга својства тако да одговарају бојама које се користе у изабраној теми.
Боје за сваку од тема користе боје уграђене у Висуал Студио. Мораћете да користите одговарајућу шему боја да бисте корисницима пружили боље искуство. Можете сазнати више о различитим начинима на које можете да изаберете шему боја за своју апликацију.