Motivy představují skvělý způsob, jak umožnit uživatelům přizpůsobit si aplikaci, aniž by se museli příliš zapojovat do konkrétních detailů.
U moderních aplikací je běžné, že mají možnost přepínat mezi různými tématy. Některé aplikace vám například umožňují přepínat mezi světlým a tmavým motivem, zatímco jiné mohou mít více možností výběru motivu.
Windows Forms je rozhraní uživatelského rozhraní, které vám umožňuje vytvářet desktopové aplikace. Motivy můžete implementovat do formulářové aplikace Windows vytvořením volitelných tlačítek pro každý motiv.
Když uživatel vybere motiv, můžete změnit barvu pozadí nebo barvu textu každého prvku tak, aby odpovídala vybranému motivu.
Jak nastavit Windows Form Project
Nejprve vytvořte novou aplikaci Windows Form. Naplňte nový projekt některými základními ovládacími prvky, jako jsou tlačítka a štítky.
- Vytvořit nová aplikace Windows Forms ve Visual Studiu.
- V novém projektu použijte panel nástrojů k vyhledání ovládacího prvku tlačítka.
- Vybrat tlačítkové ovládání a přetáhněte jej na plátno. Přidejte celkem tři ovládací tlačítka.
- Pomocí panelu nástrojů klikněte a přetáhněte a ovládání štítků na plátno. Umístěte štítek pod tlačítka.
- Upravte styl tlačítek a popisků pomocí okna vlastností. Změňte vlastnosti na následující:
Řízení Název vlastnosti Nová hodnota tlačítko1 Velikost 580, 200 FlatStyle Byt Text Uživatelé tlačítko2 Velikost 580, 100 FlatStyle Byt Text Účty tlačítko3 Velikost 580, 100 FlatStyle Byt Text Oprávnění štítek1 Text Copyright 2022
Jak vytvořit tlačítko Nastavení a seznam motivů
Aby fungovala jednoduchá nabídka motivů, vytvořte více tlačítek, která budou reprezentovat každé téma. Aplikace bude obsahovat tři témata, téma „Světlé“, téma „Příroda“ a téma „Tma“.
- Přidejte na plátno další ovládací prvek tlačítka, který bude reprezentovat tlačítko nastavení (neboli „Motivy“).
- Změňte vlastnosti tohoto tlačítka na následující:
Název vlastnosti Nová hodnota název btnThemeSettings FlatStyle Byt Velikost 200, 120 Text Témata - Přetáhněte na plátno další tři tlačítka. Tato tlačítka budou reprezentovat tři různá témata. Změňte vlastnosti každého tlačítka na následující:
Řízení Název vlastnosti Nová hodnota 1. tlačítko název btnLightTheme Barva pozadí Bílý kouř Velikost 200, 80 FlatStyle Byt Text Světlo Viditelné Nepravdivé 2. tlačítko název btnNatureTheme Barva pozadí Tmavězelená Velikost 200, 80 FlatStyle Byt Text Příroda Viditelné Nepravdivé 3. tlačítko název btnDarkTheme Barva pozadí DimGray Barva popředí Bílý Velikost 200, 80 FlatStyle Byt Text Temný Viditelné Nepravdivé - Dvakrát klikněte na Témata knoflík. Tím se vytvoří metoda pro zpracování události „po kliknutí“. Metoda se spustí, když uživatel klikne na toto tlačítko.
- Ve výchozím nastavení nebudou motivy „Světlé“, „Příroda“ a „Tma“ viditelné. Uvnitř funkce přidejte funkci pro přepínání viditelnosti tlačítek na zobrazení nebo skrytí.
soukroméprázdnotabtnThemeSettings_Click(odesílatel objektu, EventArgs e)
{
btnNatureTheme. Viditelné = !btnNatureTheme. Viditelné;
btnLightTheme. Viditelné = !btnLightTheme. Viditelné;
btnDarkTheme. Viditelné = !btnDarkTheme. Viditelné;
} - Spusťte aplikaci kliknutím na zelené tlačítko přehrávání v horní části okna sady Visual Studio.
- Za běhu aplikace ve výchozím nastavení skryje tlačítka pro každý ze tří motivů.
- Klikněte na Témata tlačítko pro přepínání motivů k zobrazení. Můžete pokračovat v stisknutí tlačítka Témata tlačítko pro přepínání jejich viditelnosti.
Jak spravovat svá témata
Vytvořte slovníky pro každé téma, do kterých budou uloženy různé barvy, které bude používat. Je to proto, abyste si uložili všechny barvy motivu na jedno místo pro případ, že byste je potřebovali použít vícekrát. Usnadní to také, pokud budete chtít v budoucnu motiv aktualizovat novými barvami.
- V horní části výchozí Form1.cs C# soubor a uvnitř Formulář třídy, vytvořte globální enum. Tento výčet uloží různé typy barev, které použijete v motivu.
enum Barva motivu
{
Hlavní,
Sekundární,
Terciární,
Text
} - Níže deklarujte tři globální slovníky, jeden pro každé ze tří témat. Můžete si přečíst více o slovnících, pokud nevíte, jak používat a slovník v C#.
Slovník<ThemeColor, Color> Světlo = nový slovník<ThemeColor, Color>();
Slovník<ThemeColor, Color> Příroda = nový slovník<ThemeColor, Color>();
Slovník<ThemeColor, Color> Tmavý = nový slovník<ThemeColor, Color>(); - Uvnitř konstruktoru inicializujte slovníky. Přidejte hodnoty pro různé barvy, které každý motiv použije.
veřejnost Form1()
{
InitializeComponent();
// Zde přidejte slovníky
Světlo = nový slovník<ThemeColor, Color>() {
{ ThemeColor. Základní barva. Bílý kouř },
{ ThemeColor. Sekundární, Barva. Stříbrný },
{ ThemeColor. Terciární, Barva. Bílá },
{ ThemeColor. Text, Barva. Černá }
};
Příroda = nový slovník<ThemeColor, Color>() {
{ ThemeColor. Základní barva. DarkSeaGreen},
{ ThemeColor. Sekundární, Barva. AliceBlue},
{ ThemeColor. Terciární, Barva. Medovice },
{ ThemeColor. Text, Barva. Černá }
};
Tmavý = nový slovník<ThemeColor, Color>() {
{ ThemeColor. Základní barva. DimGray },
{ ThemeColor. Sekundární, Barva. DimGray },
{ ThemeColor. Terciární, Barva. Černá },
{ ThemeColor. Text, Barva. bílá }
};
}
Jak změnit téma
Vytvořte funkce pro správu motivu aplikace. Tyto funkce změní barvu pozadí nebo barvu textu prvků uživatelského rozhraní na plátně.
- Vytvořte novou funkci s názvem ChangeTheme(). Funkce vezme barvy pro motiv jako argumenty.
- Uvnitř funkce změňte vlastnosti barvy pozadí prvků uživatelského rozhraní. Nové barvy pozadí budou používat barvy pro vybraný motiv.
soukroméprázdnotaZměnit téma(barva primární barva, barva sekundární Barva, barva terciární barva)
{
// Změna barvy pozadí tlačítek
btnThemeSettings. BackColor = primární barva;
button1.BackColor = primární Barva;
button2.BackColor = sekundární Barva;
button3.BackColor = sekundární Barva;
tento.BackColor = terciální barva;
} - Vytvořte novou funkci s názvem ChangeTextColor(). Toto můžete použít ke změně barvy textu mezi tmavou a světlou. To má zajistit, že text na tmavém pozadí bude stále čitelný.
soukroméprázdnotaChangeTextColor(Barva textuColor)
{
// Změna barva ztext
button1.ForeColor = textColor;
button2.ForeColor = textColor;
button3.ForeColor = textColor;
label1.ForeColor = textColor;
btnThemeSettings. ForeColor = textColor;
} - Z návrháře poklepejte na ovládací tlačítko "Světlo". Tím se otevře soubor s kódem na pozadí a vygeneruje se obslužná rutina události, když uživatel klikne na tlačítko.
- Uvnitř obslužné rutiny události použijte ChangeTheme() a ChangeTextColor() funkcí. Zadejte barvy, které motiv používá. Tyto barvy můžete načíst ze slovníku témat „Světlo“.
soukroméprázdnotabtnLightTheme_Click(odesílatel objektu, EventArgs e)
{
Změnit téma(Světlo[ThemeColor. Hlavní], Světlo[ThemeColor. Sekundární], Světlo[ThemeColor. Terciární]);
ChangeTextColor(Světlo[ThemeColor. Text]);
} - Vraťte se k návrháři a klikněte na tlačítka „Příroda“ a „Tma“. Použijte ChangeTheme() a ChangeTextColor() funguje také ve svých obslužných programech událostí.
soukroméprázdnotabtnNatureTheme_Click(odesílatel objektu, EventArgs e)
{
Změnit téma(Příroda[ThemeColor. Hlavní], Příroda[ThemeColor. Sekundární], Příroda[ThemeColor. Terciární]);
ChangeTextColor(Příroda[ThemeColor. Text]);
}
soukroméprázdnotabtnDarkTheme_Click(odesílatel objektu, EventArgs e)
{
Změnit téma(Temný[ThemeColor. Hlavní], Temný[ThemeColor. Sekundární], Temný[ThemeColor. Terciární]);
ChangeTextColor(Temný[ThemeColor. Text]);
} - Ve výchozím nastavení by měl být motiv nastaven na motiv „Světlo“, když uživatel poprvé otevře aplikaci. V konstruktoru pod slovníky použijte ChangeTheme() a ChangeTextColor() funkcí.
Změnit téma(Světlo[ThemeColor. Hlavní], Světlo[ThemeColor. Sekundární], Světlo[ThemeColor. Terciární]);
ChangeTextColor(Světlo[ThemeColor. Text]); - Spusťte aplikaci kliknutím na zelené tlačítko přehrávání v horní části okna sady Visual Studio.
- Ve výchozím nastavení aplikace používá motiv „Světlo“ a na ovládací prvky uživatelského rozhraní aplikuje šedé barevné schéma. Přepnutím tlačítka motivů zobrazíte seznam motivů.
- Klikněte na téma Příroda.
- Klikněte na Tmavý motiv.
Vytváření aplikací pomocí Windows Forms
Mnoho aplikací umožňuje uživateli přepínat mezi více tématy. Do aplikace Windows Forms můžete přidat motivy vytvořením voleb, které si uživatel může vybrat.
Když uživatel klikne na motiv, můžete změnit barvu pozadí, text nebo jiné vlastnosti tak, aby odpovídaly barvám použitým ve vybraném motivu.
Barvy pro každý z motivů používají vestavěné barvy sady Visual Studio. Budete muset použít správné barevné schéma, abyste uživatelům poskytli lepší zážitek. Můžete se dozvědět více o různých způsobech výběru barevného schématu pro vaši aplikaci.