WinForms: Hogyan adjunk több témát az alkalmazáshoz

WinForms: Hogyan adjunk több témát az alkalmazáshoz

A modern alkalmazásoknál gyakori, hogy lehetőség van váltani a különböző témák között. Egyes alkalmazások például lehetővé teszik a világos és a sötét téma közötti váltást, míg mások több téma közül választhatnak.





hogyan lehet megtudni, hogy mi volt a privát videó a youtube -on

A Windows Forms egy UI keretrendszer, amely lehetővé teszi asztali alkalmazások létrehozását. Témákat implementálhat egy Windows űrlapalkalmazásban, ha kiválasztható gombokat hoz létre az egyes témákhoz.





MAKEUSEOF A NAP VIDEÓJA

Amikor a felhasználó kiválaszt egy témát, módosíthatja az egyes elemek háttérszínét vagy szövegszín tulajdonságait, hogy megfeleljen a kiválasztott témának.





A Windows Form Project beállítása

Először hozzon létre egy új Windows űrlapalkalmazást. Töltse fel az új projektet néhány alapvető vezérlővel, például gombokkal és címkékkel.

  1. Hozzon létre egy új Windows Forms alkalmazás a Visual Studioban.
  2. Az új projektben az eszköztár segítségével kereshet gombvezérlőt.   Tulajdonság ablak a gombhoz a Winforms alkalmazásban
  3. Válaszd ki a gombos vezérlés és húzza a vászonra. Adjon hozzá összesen három gombvezérlőt.   Tulajdonság ablak a gombhoz a Winforms alkalmazásban
  4. Az eszköztár segítségével kattintson és húzza a címkevezérlés a vászonra. Helyezze a címkét a gombok alá.   Tulajdonság ablak a gombhoz a Winforms alkalmazásban
  5. A tulajdonságok ablak segítségével alakítsa ki a gombok és címkék stílusát. Módosítsa a tulajdonságokat a következőkre:
    gomb1 Méret 580, 200
    FlatStyle Lakás
    Szöveg Felhasználók
    gomb2 Méret 580, 100
    FlatStyle Lakás
    Szöveg Fiókok
    gomb3 Méret 580, 100
    FlatStyle Lakás
    Szöveg Engedélyek
    címke1 Szöveg Copyright 2022

Hogyan lehet létrehozni a Beállítások gombot és a témák listáját

Az egyszerű témamenü működéséhez hozzon létre több gombot az egyes témák megjelenítéséhez. Az alkalmazás három témát fog tartalmazni, egy 'világos' témát, egy 'természet' és egy 'sötét' témát.



  1. Adjon hozzá egy másik gombvezérlőt a vászonhoz a beállítások (vagy 'Témák') gomb megjelenítéséhez.
  2. Módosítsa ennek a gombnak a tulajdonságait a következőkre:
    Név btnThemeSettings
    FlatStyle Lakás
    Méret 200, 120
    Szöveg Témák
  3. Húzz még három gombot a vászonra. Ezek a gombok a három különböző témát képviselik. Módosítsa az egyes gombok tulajdonságait a következőkre:
    1. gomb Név btnLightTheme
    BackColor Fehér füst
    Méret 200, 80
    FlatStyle Lakás
    Szöveg Könnyű
    Látható Hamis
    2. gomb Név btnNatureTheme
    BackColor Sötét tengerzöld
    Méret 200, 80
    FlatStyle Lakás
    Szöveg Természet
    Látható Hamis
    3. gomb Név btnDarkTheme
    BackColor DimGray
    ForeColor fehér
    Méret 200, 80
    FlatStyle Lakás
    Szöveg Sötét
    Látható Hamis
  4. Kattintson duplán a Témák gomb. Ez létrehoz egy módszert a „kattintásra” esemény kezelésére. A módszer akkor fut le, amikor a felhasználó erre a gombra kattint.
  5. Alapértelmezés szerint a „Fény”, „Természet” és „Sötét” témák nem lesznek láthatók. A funkción belül adja hozzá azt a funkciót, amellyel átkapcsolhatja a gombok láthatóságát a megjelenítéshez vagy elrejtéshez.
    private void btnThemeSettings_Click(object sender, EventArgs e) 
    {
    btnNatureTheme.Visible = !btnNatureTheme.Visible;
    btnLightTheme.Visible = !btnLightTheme.Visible;
    btnDarkTheme.Visible = !btnDarkTheme.Visible;
    }
  6. Futtassa az alkalmazást a Visual Studio ablakának tetején található zöld lejátszás gombra kattintva.
  7. Futás közben az alkalmazás alapértelmezés szerint elrejti mind a három téma gombjait.
  8. Kattintson a Témák gombot a megjelenítendő témák váltásához. Továbbra is megnyomhatja a gombot Témák gombot a láthatóságuk váltásához.

A témák kezelése

Hozzon létre szótárakat minden témához, hogy tárolja a különböző színeket, amelyeket használni fog. Ez azért van így, hogy az összes témaszínt egy helyen tárolja, arra az esetre, ha többször kell használnia őket. Azt is megkönnyíti, ha a jövőben új színekkel szeretne frissíteni egy témát.

  1. Az alapértelmezett érték tetején Form1.cs C# fájlban és a Forma osztályban, hozzon létre egy globális enumot. Ez a felsorolás tárolja a témában használt különböző színtípusokat.
    enum ThemeColor 
    {
    Primary,
    Secondary,
    Tertiary,
    Text
    }
  2. Alatta deklaráljon három globális szótárt, mindhárom témához egyet. A szótárakról bővebben olvashat, ha nem ismeri az a szótár C# nyelven .
    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. A konstruktoron belül inicializálja a szótárakat. Adjon hozzá értékeket az egyes témák által használt különböző színekhez.
    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 }
    };
    }

Hogyan változtassuk meg a témát

Hozzon létre funkciókat az alkalmazás témájának kezeléséhez. Ezek a funkciók megváltoztatják a vásznon lévő UI-elemek háttérszínét vagy szövegszínét.





  1. Hozzon létre egy új függvényt, melynek neve Téma módosítása() . A függvény argumentumként veszi a téma színeit.
  2. A függvényen belül módosítsa a felhasználói felület elemeinek háttérszín tulajdonságait. Az új háttérszínek a kiválasztott téma színeit fogják használni.
    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. Hozzon létre egy új függvényt, melynek neve ChangeTextColor() . Ezzel módosíthatja a szöveg színét sötét és világos között. Ezzel biztosítható, hogy a sötét háttéren lévő szöveg továbbra is olvasható legyen.
    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. A tervezőben kattintson duplán a 'Light' gombvezérlőre. Ez megnyitja a kód mögötti fájlt, és létrehoz egy eseménykezelőt, amikor a felhasználó rákattint a gombra.
  5. Az eseménykezelőben használja a Téma módosítása() és ChangeTextColor() funkciókat. Adja meg a téma által használt színeket. Ezeket a színeket lekérheti a „Light” témaszótárból.
    private void btnLightTheme_Click(object sender, EventArgs e) 
    {
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]);
    ChangeTextColor(Light[ThemeColor.Text]);
    }
  6. Menjen vissza a tervezőhöz, és kattintson a 'Nature' és a 'Dark' gombra. Használja a Téma módosítása() és ChangeTextColor() az eseménykezelőikben is működik.
    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. Alapértelmezés szerint a témát a „Light” témára kell állítani, amikor a felhasználó először nyitja meg az alkalmazást. A konstruktorban a szótárak alatt használja a Téma módosítása() és ChangeTextColor() funkciók.
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]); 
    ChangeTextColor(Light[ThemeColor.Text]);
  8. Futtassa az alkalmazást a Visual Studio ablakának tetején található zöld lejátszás gombra kattintva.
  9. Alapértelmezés szerint az alkalmazás a „Világos” témát használja, és a szürke színsémát alkalmazza a felhasználói felület vezérlőire. A témák listájának megtekintéséhez nyomja meg a témák gombot.
  10. Kattintson a Természet témára.
  11. Kattintson a Sötét témára.

Alkalmazások létrehozása Windows űrlapokkal

Számos alkalmazás lehetővé teszi a felhasználó számára, hogy váltson több téma között. Témákat adhat hozzá a Windows Forms-alkalmazásokhoz úgy, hogy a felhasználó számára kiválasztható beállításokat hoz létre.

Amikor a felhasználó rákattint egy témára, módosíthatja a háttérszínt, a szöveget vagy bármilyen más tulajdonságot, hogy megfeleljen a kiválasztott témában használt színeknek.





Az egyes témák színei a Visual Studio beépített színeit használják. Megfelelő színsémát kell használnia, hogy jobb élményt nyújtson a felhasználóknak. További információ az alkalmazás színsémájának kiválasztásának különböző módjairól.