WinForms: jak dodać wiele motywów do swojej aplikacji

WinForms: jak dodać wiele motywów do swojej aplikacji

Nowoczesne aplikacje często mają możliwość przełączania się między różnymi motywami. Na przykład niektóre aplikacje umożliwiają przełączanie między jasnym a ciemnym motywem, podczas gdy inne mogą mieć więcej możliwości wyboru motywu.





dlaczego prędkość mojego Wi-Fi tak bardzo się zmienia?

Windows Forms to struktura interfejsu użytkownika, która umożliwia tworzenie aplikacji klasycznych. Motywy można zaimplementować w aplikacji formularza systemu Windows, tworząc przyciski do wyboru dla każdego motywu.





MAKEUSEOF WIDEO DNIA

Gdy użytkownik wybierze motyw, możesz zmienić kolor tła lub właściwości koloru tekstu każdego elementu, aby pasowały do ​​wybranego motywu.





Jak skonfigurować projekt formularza Windows

Najpierw utwórz nową aplikację formularza systemu Windows. Wypełnij nowy projekt kilkoma podstawowymi kontrolkami, takimi jak przyciski i etykiety.

  1. Stwórz nowa aplikacja Windows Forms w programie Visual Studio.
  2. W nowym projekcie użyj przybornika, aby wyszukać kontrolkę przycisku.   Okno właściwości przycisku w aplikacji WinForm
  3. Wybierz sterowanie przyciskiem i przeciągnij go na płótno. Dodaj łącznie trzy przyciski sterujące.   Okno właściwości przycisku w aplikacji WinForm
  4. Korzystając z przybornika, kliknij i przeciągnij kontrola etykiet na płótnie. Umieść etykietę pod przyciskami.   Okno właściwości przycisku w aplikacji WinForm
  5. Stylizuj przyciski i etykiety za pomocą okna właściwości. Zmień właściwości na następujące:
    przycisk 1 Rozmiar 580, 200
    Styl płaski Mieszkanie
    Tekst Użytkownicy
    przycisk2 Rozmiar 580, 100
    Styl płaski Mieszkanie
    Tekst Konta
    przycisk3 Rozmiar 580, 100
    Styl płaski Mieszkanie
    Tekst Uprawnienia
    etykieta1 Tekst Prawa autorskie 2022

Jak utworzyć przycisk ustawień i listę motywów

Aby działało proste menu motywów, utwórz wiele przycisków reprezentujących każdy motyw. Aplikacja będzie zawierać trzy motywy: motyw „Jasny”, motyw „Natura” i motyw „Ciemny”.



  1. Dodaj kolejną kontrolkę przycisku do kanwy, aby reprezentować przycisk ustawień (lub „Motywy”).
  2. Zmień właściwości tego przycisku na następujące:
    Nazwa Ustawienia motywu btn
    Styl płaski Mieszkanie
    Rozmiar 200, 120
    Tekst Motywy
  3. Przeciągnij jeszcze trzy przyciski na płótno. Te przyciski będą reprezentować trzy różne motywy. Zmień właściwości każdego z przycisków na następujące:
    Pierwszy przycisk Nazwa btnLightTheme
    PowrótKolor Biały dym
    Rozmiar 200, 80
    Styl płaski Mieszkanie
    Tekst Światło
    Widoczny Fałszywy
    Drugi przycisk Nazwa btnNature Theme
    PowrótKolor DarkSeaGreen
    Rozmiar 200, 80
    Styl płaski Mieszkanie
    Tekst Natura
    Widoczny Fałszywy
    Trzeci przycisk Nazwa btnDarkTheme
    PowrótKolor DimGray
    Kolor przedni Biały
    Rozmiar 200, 80
    Styl płaski Mieszkanie
    Tekst Ciemny
    Widoczny Fałszywy
  4. Kliknij dwukrotnie na Motywy przycisk. Stworzy to metodę obsługi zdarzenia „na kliknięcie”. Metoda zostanie uruchomiona, gdy użytkownik kliknie ten przycisk.
  5. Domyślnie motywy „Jasny”, „Natura” i „Ciemny” nie będą widoczne. Wewnątrz funkcji dodaj funkcję przełączania widoczności przycisków na pokazywanie lub ukrywanie.
    private void btnThemeSettings_Click(object sender, EventArgs e) 
    {
    btnNatureTheme.Visible = !btnNatureTheme.Visible;
    btnLightTheme.Visible = !btnLightTheme.Visible;
    btnDarkTheme.Visible = !btnDarkTheme.Visible;
    }
  6. Uruchom aplikację, klikając zielony przycisk odtwarzania w górnej części okna programu Visual Studio.
  7. W czasie wykonywania aplikacja domyślnie ukryje przyciski dla każdego z trzech motywów.
  8. Kliknij na Motywy przycisk, aby przełączać motywy do wyświetlenia. Możesz nadal naciskać Motywy przycisk, aby przełączyć ich widoczność.

Jak zarządzać swoimi motywami

Utwórz słowniki dla każdego motywu, aby przechowywać różne kolory, których będzie używał. Dzieje się tak, aby wszystkie kolory motywu były przechowywane w jednym miejscu, na wypadek, gdybyś musiał ich użyć wiele razy. Ułatwia również aktualizowanie motywu o nowe kolory w przyszłości.

  1. Na górze domyślnej Form1.cs plik C# i wewnątrz Formularz klasy, utwórz wyliczenie globalne. To wyliczenie będzie przechowywać różne typy kolorów, których będziesz używać w motywie.
    enum ThemeColor 
    {
    Primary,
    Secondary,
    Tertiary,
    Text
    }
  2. Poniżej zadeklaruj trzy słowniki globalne, po jednym dla każdego z trzech tematów. Możesz przeczytać więcej o słownikach, jeśli nie wiesz, jak używać a słownik w 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. Wewnątrz konstruktora zainicjuj słowniki. Dodaj wartości dla różnych kolorów, których użyje każdy motyw.
    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 zmienić motyw

Twórz funkcje do zarządzania motywem aplikacji. Te funkcje zmienią kolor tła lub kolor tekstu elementów interfejsu użytkownika na kanwie.





  1. Utwórz nową funkcję o nazwie Zmień motyw() . Funkcja przyjmie kolory motywu jako argumenty.
  2. Wewnątrz funkcji zmień właściwości koloru tła elementów interfejsu użytkownika. Nowe kolory tła będą używać kolorów wybranego motywu.
    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. Utwórz nową funkcję o nazwie ZmieńKolorTekstu() . Możesz użyć tego do zmiany koloru tekstu z ciemnego na jasny. Ma to na celu zapewnienie, że tekst na ciemnym tle będzie nadal czytelny.
    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 poziomu projektanta kliknij dwukrotnie kontrolkę przycisku „Światło”. Spowoduje to otwarcie pliku związanego z kodem i wygeneruje procedurę obsługi zdarzeń, gdy użytkownik kliknie przycisk.
  5. Wewnątrz obsługi zdarzeń użyj Zmień motyw() oraz ZmieńKolorTekstu() Funkcje. Wprowadź kolory, których używa motyw. Te kolory można pobrać ze słownika motywów „Światło”.
    private void btnLightTheme_Click(object sender, EventArgs e) 
    {
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]);
    ChangeTextColor(Light[ThemeColor.Text]);
    }
  6. Wróć do projektanta i kliknij przyciski „Natura” i „Ciemny”. Użyj Zmień motyw() oraz ZmieńKolorTekstu() funkcje również w ich procedurach obsługi zdarzeń.
    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. Domyślnie motyw powinien być ustawiony na motyw „Jasny”, gdy użytkownik po raz pierwszy otworzy aplikację. W konstruktorze, pod słownikami, użyj Zmień motyw() oraz ZmieńKolorTekstu() funkcje.
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]); 
    ChangeTextColor(Light[ThemeColor.Text]);
  8. Uruchom aplikację, klikając zielony przycisk odtwarzania w górnej części okna programu Visual Studio.
  9. Domyślnie aplikacja używa motywu „Jasny” i stosuje schemat kolorów szarości do kontrolek interfejsu użytkownika. Przełącz przycisk motywów, aby wyświetlić listę motywów.
  10. Kliknij motyw Natura.
  11. Kliknij ciemny motyw.

Tworzenie aplikacji za pomocą formularzy Windows

Wiele aplikacji pozwala użytkownikowi przełączać się między wieloma motywami. Możesz dodać motywy do aplikacji Windows Forms, tworząc opcje do wybrania przez użytkownika.

Gdy użytkownik kliknie motyw, możesz zmienić kolor tła, tekst lub dowolne inne właściwości, aby pasowały do ​​kolorów użytych w wybranym motywie.





jak się dowiedzieć, kiedy zostało utworzone Twoje konto Google

Kolory dla każdego z motywów używają wbudowanych kolorów programu Visual Studio. Będziesz musiał użyć odpowiedniego schematu kolorów, aby zapewnić użytkownikom lepsze wrażenia. Możesz dowiedzieć się więcej o różnych sposobach wyboru schematu kolorów dla swojej aplikacji.