WinForms: Jak přidat více motivů do vaší aplikace

WinForms: Jak přidat více motivů do vaší aplikace

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.





VYUŽÍVÁNÍ VIDEA DNE

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.





proč se můj e -mail neaktualizuje?

Jak nastavit Windows Form Project

Nejprve vytvořte novou formulářovou aplikaci pro Windows. Naplňte nový projekt některými základními ovládacími prvky, jako jsou tlačítka a štítky.

  1. Vytvořit nová aplikace Windows Forms ve Visual Studiu.
  2. V novém projektu použijte panel nástrojů k vyhledání ovládacího prvku tlačítka.   Okno vlastností pro tlačítko v aplikaci Winforms
  3. Vybrat tlačítkové ovládání a přetáhněte jej na plátno. Přidejte celkem tři ovládací tlačítka.   Okno vlastností pro tlačítko v aplikaci Winforms
  4. 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.   Okno vlastností pro tlačítko v aplikaci Winforms
  5. Upravte styl tlačítek a popisků pomocí okna vlastností. Změňte vlastnosti na následující:
    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“.



  1. Přidejte na plátno další ovládací prvek tlačítka, který bude reprezentovat tlačítko nastavení (neboli „Motivy“).
  2. Změňte vlastnosti tohoto tlačítka na následující:
    název btnThemeSettings
    FlatStyle Byt
    Velikost 200, 120
    Text Témata
  3. 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í:
    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é
  4. 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.
  5. 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í.
    private void btnThemeSettings_Click(object sender, EventArgs e) 
    {
    btnNatureTheme.Visible = !btnNatureTheme.Visible;
    btnLightTheme.Visible = !btnLightTheme.Visible;
    btnDarkTheme.Visible = !btnDarkTheme.Visible;
    }
  6. Spusťte aplikaci kliknutím na zelené tlačítko přehrávání v horní části okna sady Visual Studio.
  7. Za běhu aplikace ve výchozím nastavení skryje tlačítka pro každý ze tří motivů.
  8. 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.

  1. 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 ThemeColor 
    {
    Primary,
    Secondary,
    Tertiary,
    Text
    }
  2. 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# .
    Dictionary<ThemeColor, Color> Light = new Dictionary<ThemeColor, Color>(); 
    Dictionary<ThemeColor, Color> Nature = new Dictionary<ThemeColor, Color>();
    Dictionary<ThemeColor, Color> Dark = new Dictionary<ThemeColor, Color>();
  3. Uvnitř konstruktoru inicializujte slovníky. Přidejte hodnoty pro různé barvy, které každý motiv použije.
    public Form1() 
    {
    InitializeComponent();
    // Add dictionaries here
    Light = new Dictionary<ThemeColor, Color>() {
    { ThemeColor.Primary, Color.WhiteSmoke },
    { ThemeColor.Secondary, Color.Silver },
    { ThemeColor.Tertiary, Color.White },
    { ThemeColor.Text, Color.Black }
    };
    Nature = new Dictionary<ThemeColor, Color>() {
    { ThemeColor.Primary, Color.DarkSeaGreen },
    { ThemeColor.Secondary, Color.AliceBlue },
    { ThemeColor.Tertiary, Color.Honeydew },
    { ThemeColor.Text, Color.Black }
    };
    Dark = new Dictionary<ThemeColor, Color>() {
    { ThemeColor.Primary, Color.DimGray },
    { ThemeColor.Secondary, Color.DimGray },
    { ThemeColor.Tertiary, Color.Black },
    { ThemeColor.Text, Color.White }
    };
    }

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ě.





  1. Vytvořte novou funkci s názvem ChangeTheme() . Funkce vezme barvy pro motiv jako argumenty.
  2. Uvnitř funkce změňte vlastnosti barvy pozadí prvků uživatelského rozhraní. Nové barvy pozadí budou používat barvy pro vybraný motiv.
    private void ChangeTheme(Color primaryColor, Color secondaryColor, Color tertiaryColor) 
    {
    // Change background color of buttons
    btnThemeSettings.BackColor = primaryColor;
    button1.BackColor = primaryColor;
    button2.BackColor = secondaryColor;
    button3.BackColor = secondaryColor;
    this.BackColor = tertiaryColor;
    }
  3. 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ý.
    private void ChangeTextColor(Color textColor) 
    {
    // Change color of text
    button1.ForeColor = textColor;
    button2.ForeColor = textColor;
    button3.ForeColor = textColor;
    label1.ForeColor = textColor;
    btnThemeSettings.ForeColor = textColor;
    }
  4. 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.
  5. 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“.
    private void btnLightTheme_Click(object sender, EventArgs e) 
    {
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]);
    ChangeTextColor(Light[ThemeColor.Text]);
    }
  6. 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 rutinách událostí.
    private void btnNatureTheme_Click(object sender, EventArgs e) 
    {
    ChangeTheme(Nature[ThemeColor.Primary], Nature[ThemeColor.Secondary], Nature[ThemeColor.Tertiary]);
    ChangeTextColor(Nature[ThemeColor.Text]);
    }
    private void btnDarkTheme_Click(object sender, EventArgs e)
    {
    ChangeTheme(Dark[ThemeColor.Primary], Dark[ThemeColor.Secondary], Dark[ThemeColor.Tertiary]);
    ChangeTextColor(Dark[ThemeColor.Text]);
    }
  7. 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() funkce.
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]); 
    ChangeTextColor(Light[ThemeColor.Text]);
  8. Spusťte aplikaci kliknutím na zelené tlačítko přehrávání v horní části okna sady Visual Studio.
  9. 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ů.
  10. Klikněte na téma Příroda.
  11. 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.