WinForms: วิธีเพิ่มหลายธีมให้กับแอปพลิเคชันของคุณ

WinForms: วิธีเพิ่มหลายธีมให้กับแอปพลิเคชันของคุณ

เป็นเรื่องปกติที่แอปพลิเคชันสมัยใหม่จะมีตัวเลือกในการสลับไปมาระหว่างธีมต่างๆ ตัวอย่างเช่น แอปพลิเคชั่นบางตัวอนุญาตให้คุณสลับไปมาระหว่างธีมสีอ่อนหรือธีมสีเข้ม ในขณะที่บางแอปพลิเคชันอาจมีตัวเลือกธีมมากกว่า





Windows Forms เป็นเฟรมเวิร์ก UI ที่ให้คุณสร้างแอปพลิเคชันเดสก์ท็อป คุณสามารถใช้ธีมในแอปฟอร์ม Windows โดยการสร้างปุ่มที่เลือกได้สำหรับแต่ละธีม





คลิปวิดีโอประจำวันนี้

เมื่อผู้ใช้เลือกธีม คุณสามารถเปลี่ยนคุณสมบัติสีพื้นหลังหรือสีข้อความของแต่ละองค์ประกอบให้ตรงกับธีมที่เลือกได้





วิธีแก้ไขคอนโทรลเลอร์ xbox one

วิธีการตั้งค่าโปรเจ็กต์ฟอร์ม Windows

ขั้นแรก สร้างแอปฟอร์ม Windows ใหม่ เติมโปรเจ็กต์ใหม่ด้วยการควบคุมพื้นฐานบางอย่าง เช่น ปุ่มและป้ายกำกับ

  1. สร้าง แอปพลิเคชั่น Windows Forms ใหม่ ใน Visual Studio
  2. ในโครงการใหม่ ใช้กล่องเครื่องมือเพื่อค้นหาตัวควบคุมปุ่ม   หน้าต่างคุณสมบัติสำหรับปุ่มในแอพ Winforms
  3. เลือก ปุ่มควบคุม และลากไปบนผืนผ้าใบ เพิ่มปุ่มควบคุมทั้งหมดสามปุ่ม   หน้าต่างคุณสมบัติสำหรับปุ่มในแอพ Winforms
  4. ใช้กล่องเครื่องมือ คลิกแล้วลาก การควบคุมฉลาก ลงบนผืนผ้าใบ วางฉลากไว้ใต้ปุ่ม   หน้าต่างคุณสมบัติสำหรับปุ่มในแอพ Winforms
  5. จัดรูปแบบปุ่มและป้ายกำกับโดยใช้หน้าต่างคุณสมบัติ เปลี่ยนคุณสมบัติดังต่อไปนี้:
    ปุ่ม1 ขนาด 580, 200
    FlatStyle แบน
    ข้อความ ผู้ใช้
    ปุ่ม2 ขนาด 580, 100
    FlatStyle แบน
    ข้อความ บัญชี
    ปุ่ม3 ขนาด 580, 100
    FlatStyle แบน
    ข้อความ สิทธิ์
    label1 ข้อความ ลิขสิทธิ์ 2022

วิธีสร้างปุ่มการตั้งค่าและรายการธีม

เพื่อให้เมนูธีมอย่างง่ายใช้งานได้ ให้สร้างปุ่มหลายปุ่มเพื่อแสดงแต่ละธีม แอปพลิเคชันจะมีสามธีม ได้แก่ ธีม 'Light' ธีม 'Nature' และธีม 'Dark'



  1. เพิ่มปุ่มควบคุมอื่นลงในผ้าใบเพื่อแสดงปุ่มการตั้งค่า (หรือ 'ธีม')
  2. เปลี่ยนคุณสมบัติของปุ่มนี้ดังต่อไปนี้:
    ชื่อ btnThemeSettings
    FlatStyle แบน
    ขนาด 200, 120
    ข้อความ ธีม
  3. ลากปุ่มอีกสามปุ่มลงบนผืนผ้าใบ ปุ่มเหล่านี้จะแสดงถึงสามธีมที่แตกต่างกัน เปลี่ยนคุณสมบัติของปุ่มแต่ละปุ่มดังต่อไปนี้:
    ปุ่มที่ 1 ชื่อ btnLightTheme
    BackColor ควันขาว
    ขนาด 200, 80
    FlatStyle แบน
    ข้อความ แสงสว่าง
    มองเห็นได้ เท็จ
    ปุ่มที่ 2 ชื่อ btnNatureTheme
    BackColor DarkSeaGreen
    ขนาด 200, 80
    FlatStyle แบน
    ข้อความ ธรรมชาติ
    มองเห็นได้ เท็จ
    ปุ่มที่ 3 ชื่อ btnDarkTheme
    BackColor DimGray
    สีพื้น สีขาว
    ขนาด 200, 80
    FlatStyle แบน
    ข้อความ มืด
    มองเห็นได้ เท็จ
  4. ดับเบิลคลิกที่ ธีม ปุ่ม. สิ่งนี้จะสร้างวิธีการจัดการกับเหตุการณ์ 'เมื่อคลิก' วิธีการจะทำงานเมื่อผู้ใช้คลิกที่ปุ่มนี้
  5. โดยค่าเริ่มต้น ธีม 'แสง' 'ธรรมชาติ' และ 'ความมืด' จะไม่ปรากฏให้เห็น ภายในฟังก์ชัน เพิ่มฟังก์ชันเพื่อสลับการมองเห็นของปุ่มเพื่อแสดงหรือซ่อน.
    private void btnThemeSettings_Click(object sender, EventArgs e) 
    {
    btnNatureTheme.Visible = !btnNatureTheme.Visible;
    btnLightTheme.Visible = !btnLightTheme.Visible;
    btnDarkTheme.Visible = !btnDarkTheme.Visible;
    }
  6. เรียกใช้แอปพลิเคชันโดยคลิกที่ปุ่มเล่นสีเขียวที่ด้านบนของหน้าต่าง Visual Studio
  7. ขณะรันไทม์ แอปพลิเคชันจะซ่อนปุ่มสำหรับแต่ละธีมจากสามธีมตามค่าเริ่มต้น
  8. คลิกที่ ธีม ปุ่มเพื่อสลับธีมที่จะแสดง คุณสามารถกด .ต่อไปได้ ธีม ปุ่มเพื่อสลับการมองเห็น

วิธีจัดการธีมของคุณ

สร้างพจนานุกรมสำหรับแต่ละธีมเพื่อเก็บสีต่างๆ ที่จะใช้ เพื่อให้คุณเก็บสีของชุดรูปแบบทั้งหมดไว้ในที่เดียว ในกรณีที่คุณจำเป็นต้องใช้งานหลายครั้ง นอกจากนี้ยังทำให้ง่ายขึ้นหากคุณต้องการอัปเดตธีมด้วยสีใหม่ในอนาคต

วิธีตรวจสอบว่าฉันมีมาเธอร์บอร์ดตัวใด
  1. ที่ด้านบนของค่าเริ่มต้น แบบฟอร์ม1.cs ไฟล์ C# และภายในไฟล์ รูปร่าง คลาส สร้าง enum ทั่วโลก enum นี้จะเก็บสีประเภทต่างๆ ที่คุณจะใช้ในธีม
    enum ThemeColor 
    {
    Primary,
    Secondary,
    Tertiary,
    Text
    }
  2. ด้านล่าง ให้ประกาศพจนานุกรมทั่วโลกสามฉบับ หนึ่งพจนานุกรมสำหรับแต่ละหัวข้อจากสามหัวข้อ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับพจนานุกรมได้หากคุณไม่คุ้นเคยกับวิธีใช้a พจนานุกรมใน 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. ภายใน Constructor ให้เริ่มต้นพจนานุกรม เพิ่มค่าสำหรับสีต่างๆ ที่แต่ละธีมจะใช้
    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 }
    };
    }

วิธีเปลี่ยนธีม

สร้างฟังก์ชันเพื่อจัดการธีมของแอปพลิเคชัน ฟังก์ชันเหล่านี้จะเปลี่ยนสีพื้นหลังหรือสีข้อความขององค์ประกอบ UI บนผืนผ้าใบ





  1. สร้างฟังก์ชันใหม่ที่เรียกว่า เปลี่ยนธีม() . ฟังก์ชันจะใช้สีของธีมเป็นอาร์กิวเมนต์
  2. ภายในฟังก์ชัน เปลี่ยนคุณสมบัติสีพื้นหลังขององค์ประกอบ UI สีพื้นหลังใหม่จะใช้สีสำหรับธีมที่เลือก
    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. สร้างฟังก์ชันใหม่ที่เรียกว่า เปลี่ยนข้อความสี() . คุณสามารถใช้สิ่งนี้เพื่อเปลี่ยนสีของข้อความระหว่างสีเข้มและสีอ่อน เพื่อให้แน่ใจว่าข้อความบนพื้นหลังสีเข้มจะยังอ่านได้
    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. จากผู้ออกแบบ ให้ดับเบิลคลิกที่ตัวควบคุมปุ่ม 'Light' ซึ่งจะเปิดไฟล์โค้ดเบื้องหลังและสร้างตัวจัดการเหตุการณ์เมื่อผู้ใช้คลิกที่ปุ่ม
  5. ภายในตัวจัดการเหตุการณ์ ใช้ เปลี่ยนธีม() และ เปลี่ยนข้อความสี() ฟังก์ชั่น. ป้อนสีที่ธีมใช้ คุณสามารถเรียกสีเหล่านี้ได้จากพจนานุกรมธีม 'Light'
    private void btnLightTheme_Click(object sender, EventArgs e) 
    {
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]);
    ChangeTextColor(Light[ThemeColor.Text]);
    }
  6. กลับไปที่นักออกแบบและคลิกที่ปุ่ม 'ธรรมชาติ' และ 'มืด' ใช้ เปลี่ยนธีม() และ เปลี่ยนข้อความสี() ฟังก์ชันในตัวจัดการเหตุการณ์เช่นกัน
    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. โดยค่าเริ่มต้น ธีมควรตั้งค่าเป็นธีม 'สว่าง' เมื่อผู้ใช้เปิดแอปเป็นครั้งแรก ในตัวสร้าง ใต้พจนานุกรม ใช้ เปลี่ยนธีม() และ เปลี่ยนข้อความสี() ฟังก์ชั่น
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]); 
    ChangeTextColor(Light[ThemeColor.Text]);
  8. เรียกใช้แอปพลิเคชันโดยคลิกที่ปุ่มเล่นสีเขียวที่ด้านบนของหน้าต่าง Visual Studio
  9. โดยค่าเริ่มต้น แอปพลิเคชันจะใช้ธีม 'Light' และใช้ชุดรูปแบบสีเทากับการควบคุม UI สลับปุ่มธีมเพื่อดูรายการธีม
  10. คลิกที่ธีมธรรมชาติ
  11. คลิกที่ธีมสีเข้ม

การสร้างแอปพลิเคชันโดยใช้ Windows Forms

แอปพลิเคชั่นจำนวนมากอนุญาตให้ผู้ใช้สลับไปมาระหว่างหลายธีม คุณสามารถเพิ่มธีมให้กับแอปพลิเคชัน Windows Forms ได้โดยการสร้างตัวเลือกให้ผู้ใช้เลือก

เมื่อผู้ใช้คลิกที่ธีม คุณสามารถเปลี่ยนสีพื้นหลัง ข้อความ หรือคุณสมบัติอื่นๆ เพื่อให้ตรงกับสีที่ใช้ในธีมที่เลือก





ทาสก์บาร์ windows 10 ไม่แสดงโปรแกรม

สีสำหรับแต่ละธีมใช้สีในตัวของ Visual Studio คุณจะต้องใช้ชุดสีที่เหมาะสมเพื่อให้ผู้ใช้ได้รับประสบการณ์ที่ดีขึ้น คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการต่างๆ ในการเลือกชุดสีสำหรับแอปของคุณ