WinForms: Cum să adăugați mai multe teme la aplicația dvs

WinForms: Cum să adăugați mai multe teme la aplicația dvs

Este obișnuit ca aplicațiile moderne să aibă opțiunea de a comuta între diferite teme. De exemplu, unele aplicații vă permit să comutați între o temă deschisă sau o temă întunecată, în timp ce altele pot avea mai multe opțiuni de teme.





Windows Forms este un cadru UI care vă permite să creați aplicații desktop. Puteți implementa teme într-o aplicație de formular Windows creând butoane selectabile pentru fiecare temă.





REALIZAREA VIDEOCLIPULUI ZILEI

Când utilizatorul selectează o temă, puteți modifica culoarea de fundal sau proprietățile culorii textului fiecărui element pentru a se potrivi cu tema selectată.





cum se deschide un fișier jar Windows 10

Cum să configurați proiectul Windows Form

Mai întâi, creați o nouă aplicație Windows Form. Completați noul proiect cu câteva comenzi de bază, cum ar fi butoane și etichete.

  1. Creeaza o noua aplicație Windows Forms în Visual Studio.
  2. În noul proiect, utilizați caseta de instrumente pentru a căuta un buton de control.   Fereastra de proprietate pentru butonul din aplicația Winforms
  3. Selectează buton de control și trageți-l pe pânză. Adăugați un total de trei butoane de control.   Fereastra de proprietate pentru butonul din aplicația Winforms
  4. Folosind caseta de instrumente, faceți clic și trageți a controlul etichetei pe pânză. Puneți eticheta sub butoane.   Fereastra de proprietate pentru butonul din aplicația Winforms
  5. Stilați butoanele și etichetele folosind fereastra de proprietăți. Schimbați proprietățile în următoarele:
    butonul 1 mărimea 580, 200
    FlatStyle Apartament
    Text Utilizatori
    butonul 2 mărimea 580, 100
    FlatStyle Apartament
    Text Conturi
    butonul 3 mărimea 580, 100
    FlatStyle Apartament
    Text Permisiuni
    eticheta 1 Text Copyright 2022

Cum se creează butonul Setări și lista de teme

Pentru ca un meniu de teme simplu să funcționeze, creați mai multe butoane pentru a reprezenta fiecare temă. Aplicația va include trei teme, o temă „Ușoară”, o temă „Natura” și o temă „Întunecată”.



ce versiune de ubuntu am
  1. Adăugați un alt buton de control pe pânză pentru a reprezenta butonul de setări (sau „Teme”).
  2. Schimbați proprietățile acestui buton în următoarele:
    Nume btnThemeSettings
    FlatStyle Apartament
    mărimea 200, 120
    Text Teme
  3. Trageți încă trei butoane pe pânză. Aceste butoane vor reprezenta cele trei teme diferite. Modificați proprietățile pentru fiecare dintre butoane la următoarele:
    Primul Buton Nume btnLightTheme
    Culoare de fundal Fum alb
    mărimea 200, 80
    FlatStyle Apartament
    Text Ușoară
    Vizibil Fals
    Al 2-lea Buton Nume btnNatureTheme
    Culoare de fundal DarkSeaGreen
    mărimea 200, 80
    FlatStyle Apartament
    Text Natură
    Vizibil Fals
    Al 3-lea buton Nume btnDarkTheme
    Culoare de fundal DimGray
    Culoarea din fata alb
    mărimea 200, 80
    FlatStyle Apartament
    Text Întuneric
    Vizibil Fals
  4. Faceți dublu clic pe Teme buton. Aceasta va crea o metodă de a gestiona evenimentul „la clic”. Metoda va rula atunci când utilizatorul face clic pe acest buton.
  5. În mod implicit, temele „Lumină”, „Natura” și „Întunecat” nu vor fi vizibile. În interiorul funcției, adăugați funcționalitatea pentru a comuta vizibilitatea butoanelor pentru a afișa sau ascunde.
    private void btnThemeSettings_Click(object sender, EventArgs e) 
    {
    btnNatureTheme.Visible = !btnNatureTheme.Visible;
    btnLightTheme.Visible = !btnLightTheme.Visible;
    btnDarkTheme.Visible = !btnDarkTheme.Visible;
    }
  6. Rulați aplicația făcând clic pe butonul verde de redare din partea de sus a ferestrei Visual Studio.
  7. În timpul execuției, aplicația va ascunde în mod implicit butoanele pentru fiecare dintre cele trei teme.
  8. Faceți clic pe Teme butonul pentru a comuta temele de afișat. Puteți continua să apăsați tasta Teme butonul pentru a comuta vizibilitatea acestora.

Cum să vă gestionați temele

Creați dicționare pentru fiecare temă pentru a stoca diferitele culori pe care le va folosi. Acest lucru este astfel încât să stocați toate culorile temei într-un singur loc, în cazul în care trebuie să le utilizați de mai multe ori. De asemenea, este mai ușor dacă doriți să actualizați o temă cu culori noi în viitor.

  1. În partea de sus a valorii implicite Form1.cs C# și în interiorul Formă clasa, creați o enumerare globală. Această enumerare va stoca diferitele tipuri de culori pe care le veți folosi într-o temă.
    enum ThemeColor 
    {
    Primary,
    Secondary,
    Tertiary,
    Text
    }
  2. Dedesubt, declarați trei dicționare globale, câte unul pentru fiecare dintre cele trei teme. Puteți citi mai multe despre dicționare dacă nu sunteți familiarizat cu modul de utilizare a dictionar in 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. În interiorul constructorului, inițializați dicționarele. Adăugați valori pentru diferitele culori pe care le va folosi fiecare temă.
    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 }
    };
    }

Cum se schimbă tema

Creați funcții pentru a gestiona tema aplicației. Aceste funcții vor schimba culoarea de fundal sau culoarea textului elementelor UI de pe pânză.





  1. Creați o nouă funcție numită Schimbă tema() . Funcția va lua culorile pentru o temă ca argumente.
  2. În interiorul funcției, modificați proprietățile culorii de fundal ale elementelor UI. Noile culori de fundal vor folosi culori pentru tema selectată.
    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. Creați o nouă funcție numită ChangeTextColor() . Puteți folosi acest lucru pentru a schimba culoarea textului între întuneric și deschis. Acest lucru este pentru a vă asigura că textul pe un fundal întunecat va fi în continuare lizibil.
    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. De la designer, faceți dublu clic pe butonul de comandă „Lumină”. Aceasta va deschide fișierul code-behind și va genera un handler de evenimente pentru atunci când utilizatorul face clic pe buton.
  5. În interiorul handler-ului de evenimente, utilizați Schimbă tema() și ChangeTextColor() funcții. Introduceți culorile pe care le folosește tema. Puteți prelua aceste culori din dicționarul temei „Lumină”.
    private void btnLightTheme_Click(object sender, EventArgs e) 
    {
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]);
    ChangeTextColor(Light[ThemeColor.Text]);
    }
  6. Reveniți la designer și faceți clic pe butoanele „Natura” și „Întunecat”. Folosește Schimbă tema() și ChangeTextColor() funcții și în gestionatorii lor de evenimente.
    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. În mod implicit, tema ar trebui să fie setată la tema „Ușoară” atunci când utilizatorul deschide prima aplicație. În constructor, sub dicționare, utilizați Schimbă tema() și ChangeTextColor() funcții.
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]); 
    ChangeTextColor(Light[ThemeColor.Text]);
  8. Rulați aplicația făcând clic pe butonul verde de redare din partea de sus a ferestrei Visual Studio.
  9. În mod implicit, aplicația folosește tema „Lumină” și aplică schema de culori gri la controalele UI. Comutați butonul de teme pentru a vedea lista de teme.
  10. Faceți clic pe tema Natură.
  11. Faceți clic pe tema Întunecată.

Crearea de aplicații folosind formulare Windows

Multe aplicații permit utilizatorului să comute între mai multe teme. Puteți adăuga teme la o aplicație Windows Forms creând opțiuni pe care utilizatorul le poate selecta.

Când utilizatorul face clic pe o temă, puteți schimba culoarea de fundal, textul sau orice alte proprietăți pentru a se potrivi cu culorile utilizate în tema selectată.





Windows nu a putut detecta automat proxy

Culorile pentru fiecare dintre teme folosesc culorile încorporate ale Visual Studio. Va trebui să utilizați o schemă de culori adecvată pentru a oferi utilizatorilor o experiență mai bună. Puteți afla mai multe despre diferitele moduri în care puteți alege o schemă de culori pentru aplicația dvs.