WinForms: kaip prie programos pridėti kelias temas

WinForms: kaip prie programos pridėti kelias temas

Įprasta, kad šiuolaikinėse programose yra galimybė perjungti skirtingas temas. Pavyzdžiui, kai kurios programos leidžia keisti šviesią ar tamsią temą, o kitose gali būti daugiau temų pasirinkimų.





„Windows Forms“ yra vartotojo sąsajos sistema, leidžianti kurti darbalaukio programas. Galite įdiegti temas „Windows“ formos programoje, sukurdami pasirenkamus kiekvienos temos mygtukus.





DIENOS VAIZDO ĮRAŠO PAGALBA

Kai vartotojas pasirenka temą, galite pakeisti kiekvieno elemento fono spalvą arba teksto spalvos ypatybes, kad jos atitiktų pasirinktą temą.





geresnė nuotraukų peržiūros priemonė, skirta „Windows 10“

Kaip nustatyti „Windows“ formos projektą

Pirmiausia sukurkite naują „Windows“ formos programą. Užpildykite naują projektą kai kuriais pagrindiniais valdikliais, pvz., mygtukais ir etiketėmis.

  1. Sukurti nauja „Windows Forms“ programa Visual Studio.
  2. Naujame projekte mygtuko valdiklio ieškokite naudodami įrankių rinkinį.   Winforms programėlės mygtuko nuosavybės langas
  3. Pasirinkite mygtuko valdymas ir vilkite jį ant drobės. Iš viso pridėkite tris mygtukų valdiklius.   Winforms programėlės mygtuko nuosavybės langas
  4. Naudodami įrankių rinkinį spustelėkite ir vilkite a etikečių valdymas ant drobės. Padėkite etiketę po mygtukais.   Winforms programėlės mygtuko nuosavybės langas
  5. Sukurkite mygtukų ir etikečių stilių naudodami ypatybių langą. Pakeiskite ypatybes į šias:
    mygtukas 1 Dydis 580, 200
    FlatStyle Butas
    Tekstas Vartotojai
    mygtukas 2 Dydis 580, 100
    FlatStyle Butas
    Tekstas Sąskaitos
    mygtukas 3 Dydis 580, 100
    FlatStyle Butas
    Tekstas Leidimai
    etiketė1 Tekstas Autorių teisės 2022 m

Kaip sukurti nustatymų mygtuką ir temų sąrašą

Kad veiktų paprastas temų meniu, sukurkite kelis mygtukus, vaizduojančius kiekvieną temą. Programoje bus trys temos: „Šviesioji“, „Gamtos“ ir „Tamsioji“.



  1. Pridėkite kitą mygtuko valdiklį prie drobės, kad būtų rodomas nustatymų (arba „Temų“) mygtukas.
  2. Pakeiskite šio mygtuko ypatybes į šias:
    vardas btnThemeSettings
    FlatStyle Butas
    Dydis 200, 120
    Tekstas Temos
  3. Vilkite dar tris mygtukus ant drobės. Šie mygtukai parodys tris skirtingas temas. Pakeiskite kiekvieno mygtuko ypatybes į šias:
    1 mygtukas vardas btnLight Theme
    BackColor WhiteSmoke
    Dydis 200, 80
    FlatStyle Butas
    Tekstas Šviesa
    Matomas Netiesa
    2-as mygtukas vardas btnNature Theme
    BackColor TamsiaiJūra Žalia
    Dydis 200, 80
    FlatStyle Butas
    Tekstas Gamta
    Matomas Netiesa
    3 mygtukas vardas btnDarkTheme
    BackColor Neryškus pilkas
    ForeColor Baltas
    Dydis 200, 80
    FlatStyle Butas
    Tekstas Tamsus
    Matomas Netiesa
  4. Dukart spustelėkite Temos mygtuką. Taip bus sukurtas būdas apdoroti įvykį „paspaudus“. Metodas bus paleistas, kai vartotojas spustelėja šį mygtuką.
  5. Pagal numatytuosius nustatymus „Šviesos“, „Gamtos“ ir „Tamsios“ temos nebus matomos. Funkcijos viduje pridėkite funkciją, kad perjungtumėte mygtukų matomumą, kad jie būtų rodomi arba paslėpti.
    private void btnThemeSettings_Click(object sender, EventArgs e) 
    {
    btnNatureTheme.Visible = !btnNatureTheme.Visible;
    btnLightTheme.Visible = !btnLightTheme.Visible;
    btnDarkTheme.Visible = !btnDarkTheme.Visible;
    }
  6. Paleiskite programą spustelėdami žalią paleidimo mygtuką Visual Studio lango viršuje.
  7. Vykdymo metu programa pagal numatytuosius nustatymus paslėps kiekvienos iš trijų temų mygtukus.
  8. Spustelėkite ant Temos mygtuką, kad perjungtumėte rodomas temas. Galite toliau spausti Temos mygtuką, kad perjungtumėte jų matomumą.

Kaip tvarkyti savo temas

Sukurkite žodynus kiekvienai temai, kad išsaugotumėte skirtingas spalvas, kurias ji naudos. Taip reikia saugoti visas temos spalvas vienoje vietoje, jei prireiktų jas naudoti kelis kartus. Taip pat lengviau, jei ateityje norėsite atnaujinti temą naujomis spalvomis.

  1. Numatytosios vertės viršuje Forma1.cs C# failą ir viduje Forma klasėje, sukurkite visuotinį sąrašą. Šiame sąraše bus saugomos skirtingų tipų spalvos, kurias naudosite temoje.
    enum ThemeColor 
    {
    Primary,
    Secondary,
    Tertiary,
    Text
    }
  2. Apačioje paskelbkite tris pasaulinius žodynus, po vieną kiekvienai iš trijų temų. Galite perskaityti daugiau apie žodynus, jei nežinote, kaip naudoti a žodynas 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. Konstruktoriaus viduje inicijuokite žodynus. Pridėkite skirtingų spalvų, kurias naudos kiekviena tema, vertes.
    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 }
    };
    }

Kaip pakeisti temą

Kurkite funkcijas, kad galėtumėte valdyti programos temą. Šios funkcijos pakeis drobėje esančių UI elementų fono arba teksto spalvą.





  1. Sukurkite naują funkciją, pavadintą Keisti temą () . Funkcija kaip argumentus paims temos spalvas.
  2. Funkcijoje pakeiskite vartotojo sąsajos elementų fono spalvų ypatybes. Naujose fono spalvose bus naudojamos pasirinktos temos spalvos.
    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. Sukurkite naują funkciją, pavadintą ChangeTextColor() . Tai galite naudoti norėdami pakeisti teksto spalvą iš tamsios ir šviesios. Taip užtikrinama, kad tekstas tamsiame fone vis tiek būtų skaitomas.
    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. Iš dizainerio dukart spustelėkite mygtuko valdiklį „Šviesa“. Tai atidarys kodo failą ir sugeneruos įvykių tvarkyklę, kai vartotojas spustelėja mygtuką.
  5. Įvykių tvarkyklėje naudokite Keisti temą () ir ChangeTextColor() funkcijas. Įveskite spalvas, kurias naudoja tema. Šias spalvas galite gauti iš „Šviesos“ temos žodyno.
    private void btnLightTheme_Click(object sender, EventArgs e) 
    {
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]);
    ChangeTextColor(Light[ThemeColor.Text]);
    }
  6. Grįžkite į dizainerį ir spustelėkite mygtukus „Gamta“ ir „Tamsiai“. Naudoti Keisti temą () ir ChangeTextColor() veikia ir jų įvykių tvarkytuvėse.
    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. Pagal numatytuosius nustatymus, vartotojui pirmą kartą atidarius programą, tema turėtų būti nustatyta į „Šviesią“. Konstruktoriui, po žodynais, naudokite Keisti temą () ir ChangeTextColor() funkcijos.
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]); 
    ChangeTextColor(Light[ThemeColor.Text]);
  8. Paleiskite programą spustelėdami žalią paleidimo mygtuką Visual Studio lango viršuje.
  9. Pagal numatytuosius nustatymus programa naudoja temą „Šviesi“ ir vartotojo sąsajos valdikliui taiko pilkų spalvų schemą. Perjunkite temų mygtuką, kad peržiūrėtumėte temų sąrašą.
  10. Spustelėkite gamtos temą.
  11. Spustelėkite tamsiąją temą.

Programų kūrimas naudojant „Windows“ formas

Daugelis programų leidžia vartotojui perjungti kelias temas. Galite pridėti temų prie „Windows Forms“ programos sukurdami parinktis, kurias vartotojas galės pasirinkti.

Kai vartotojas spusteli temą, galite pakeisti fono spalvą, tekstą ar bet kokias kitas savybes, kad jos atitiktų pasirinktoje temoje naudojamas spalvas.





Kiekvienos temos spalvos naudoja „Visual Studio“ integruotas spalvas. Turėsite naudoti tinkamą spalvų schemą, kad suteiktumėte vartotojams geresnę patirtį. Galite sužinoti daugiau apie įvairius būdus, kuriais galite pasirinkti programos spalvų schemą.

kaip galiu pamatyti, kas mane stebėjo instagrame?