WinForms: Com afegir diversos temes a la vostra aplicació

WinForms: Com afegir diversos temes a la vostra aplicació

És habitual que les aplicacions modernes tinguin una opció per canviar entre diferents temes. Per exemple, algunes aplicacions us permeten canviar entre un tema clar o un tema fosc, mentre que altres poden tenir més opcions de tema.





Windows Forms és un marc d'interfície d'usuari que us permet crear aplicacions d'escriptori. Podeu implementar temes en una aplicació de formularis de Windows creant botons seleccionables per a cada tema.





MAKEUSEO VÍDEO DEL DIA

Quan l'usuari selecciona un tema, podeu canviar el color de fons o les propietats del color del text de cada element perquè coincideixi amb el tema seleccionat.





El paquet amazon diu que ha estat lliurat, però no

Com configurar el projecte Windows Form

Primer, creeu una nova aplicació de formularis de Windows. Omple el nou projecte amb alguns controls bàsics, com ara botons i etiquetes.

  1. Crea un nova aplicació de Windows Forms a Visual Studio.
  2. Al nou projecte, utilitzeu la caixa d'eines per cercar un control de botó.   Finestra de propietats del botó a l'aplicació Winforms
  3. Seleccioneu el control de botó i arrossegueu-lo al llenç. Afegiu un total de tres controls de botons.   Finestra de propietats del botó a l'aplicació Winforms
  4. Amb la caixa d'eines, feu clic i arrossegueu a control de l'etiqueta sobre el llenç. Col·loqueu l'etiqueta a sota dels botons.   Finestra de propietats del botó a l'aplicació Winforms
  5. Estil els botons i les etiquetes mitjançant la finestra de propietats. Canvieu les propietats a les següents:
    botó 1 Mida 580, 200
    FlatStyle Pis
    Text Usuaris
    botó 2 Mida 580, 100
    FlatStyle Pis
    Text Comptes
    botó 3 Mida 580, 100
    FlatStyle Pis
    Text Permisos
    etiqueta 1 Text Copyright 2022

Com crear el botó de configuració i la llista de temes

Perquè funcioni un menú de temes senzill, creeu diversos botons per representar cada tema. L'aplicació inclourà tres temes, un tema 'Llum', un tema 'Natura' i un tema 'Fosc'.



recuperar dades del disc dur mort
  1. Afegiu un altre control de botó al llenç per representar el botó de configuració (o 'Temes').
  2. Canvieu les propietats d'aquest botó a les següents:
    Nom btnThemeSettings
    FlatStyle Pis
    Mida 200, 120
    Text Temes
  3. Arrossegueu tres botons més al llenç. Aquests botons representaran els tres temes diferents. Canvieu les propietats de cadascun dels botons a les següents:
    1r botó Nom btnLightTheme
    BackColor Fum Blanc
    Mida 200, 80
    FlatStyle Pis
    Text Llum
    Visible Fals
    2n botó Nom btnNatureTheme
    BackColor DarkSeaGreen
    Mida 200, 80
    FlatStyle Pis
    Text Naturalesa
    Visible Fals
    3r botó Nom btnDarkTheme
    BackColor DimGray
    ForeColor Blanc
    Mida 200, 80
    FlatStyle Pis
    Text Fosc
    Visible Fals
  4. Feu doble clic a Temes botó. Això crearà un mètode per gestionar l'esdeveniment 'al clic'. El mètode s'executarà quan l'usuari faci clic en aquest botó.
  5. Per defecte, els temes 'Llum', 'Natura' i 'Fosc' no seran visibles. Dins de la funció, afegiu la funcionalitat per canviar la visibilitat dels botons per mostrar-los o amagar-los.
    private void btnThemeSettings_Click(object sender, EventArgs e) 
    {
    btnNatureTheme.Visible = !btnNatureTheme.Visible;
    btnLightTheme.Visible = !btnLightTheme.Visible;
    btnDarkTheme.Visible = !btnDarkTheme.Visible;
    }
  6. Executeu l'aplicació fent clic al botó verd de reproducció a la part superior de la finestra de Visual Studio.
  7. En temps d'execució, l'aplicació amagarà els botons de cadascun dels tres temes per defecte.
  8. Feu clic a Temes botó per canviar els temes a mostrar. Podeu continuar prement el botó Temes botó per canviar la seva visibilitat.

Com gestionar els vostres temes

Creeu diccionaris per a cada tema per emmagatzemar els diferents colors que utilitzarà. Això és perquè emmagatzemeu tots els colors del vostre tema en un sol lloc, en cas que necessiteu utilitzar-los diverses vegades. També us facilita si voleu actualitzar un tema amb colors nous en el futur.

  1. A la part superior del valor predeterminat Form1.cs fitxer C# i dins del fitxer Formulari classe, creeu una enumeració global. Aquesta enumeració emmagatzemarà els diferents tipus de colors que utilitzareu en un tema.
    enum ThemeColor 
    {
    Primary,
    Secondary,
    Tertiary,
    Text
    }
  2. A sota, declara tres diccionaris globals, un per a cadascun dels tres temes. Podeu llegir més sobre els diccionaris si no esteu familiaritzat amb com utilitzar a diccionari en 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. Dins del constructor, inicialitzeu els diccionaris. Afegeix valors per als diferents colors que utilitzarà cada tema.
    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 }
    };
    }

Com canviar el tema

Creeu funcions per gestionar el tema de l'aplicació. Aquestes funcions canviaran el color de fons o el color del text dels elements de la interfície d'usuari al llenç.





  1. Creeu una nova funció anomenada Canvia el tema() . La funció prendrà els colors d'un tema com a arguments.
  2. Dins de la funció, canvieu les propietats del color de fons dels elements de la IU. Els nous colors de fons utilitzaran colors per al tema seleccionat.
    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. Creeu una nova funció anomenada Canvia el color del text() . Podeu utilitzar-lo per canviar el color del text entre fosc i clar. Això és per garantir que el text sobre un fons fosc encara es pugui llegir.
    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. Des del dissenyador, feu doble clic al control del botó 'Llum'. Això obrirà el fitxer code-behind i generarà un controlador d'esdeveniments per quan l'usuari faci clic al botó.
  5. Dins del gestor d'esdeveniments, utilitzeu Canvia el tema() i Canvia el color del text() funcions. Introduïu els colors que utilitza el tema. Podeu recuperar aquests colors del diccionari de temes 'Llum'.
    private void btnLightTheme_Click(object sender, EventArgs e) 
    {
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]);
    ChangeTextColor(Light[ThemeColor.Text]);
    }
  6. Torneu al dissenyador i feu clic als botons 'Natura' i 'Fosc'. Utilitzar el Canvia el tema() i Canvia el color del text() funcions també als seus gestors d'esdeveniments.
    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. De manera predeterminada, el tema s'hauria d'establir amb el tema 'Llum' quan l'usuari obre l'aplicació per primera vegada. Al constructor, a sota dels diccionaris, utilitzeu el Canvia el tema() i Canvia el color del text() funcions.
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]); 
    ChangeTextColor(Light[ThemeColor.Text]);
  8. Executeu l'aplicació fent clic al botó verd de reproducció a la part superior de la finestra de Visual Studio.
  9. Per defecte, l'aplicació utilitza el tema 'Llum' i aplica l'esquema de color gris als controls de la interfície d'usuari. Canvia el botó de temes per veure la llista de temes.
  10. Feu clic al tema Natura.
  11. Feu clic al tema fosc.

Creació d'aplicacions amb Windows Forms

Moltes aplicacions permeten a l'usuari canviar entre diversos temes. Podeu afegir temes a una aplicació de Windows Forms creant opcions perquè l'usuari les seleccioneu.

coses a fer a Internet quan t’avorreixes

Quan l'usuari fa clic en un tema, podeu canviar el color de fons, el text o qualsevol altra propietat perquè coincideixi amb els colors utilitzats en el tema seleccionat.





Els colors de cadascun dels temes utilitzen els colors integrats de Visual Studio. Haureu d'utilitzar un esquema de colors adequat per oferir als usuaris una millor experiència. Podeu obtenir més informació sobre les diferents maneres de triar un esquema de colors per a la vostra aplicació.