C#使用switch语句更改窗体颜色

目录

一、示例

二、生成


用switch多路选择语句及窗体的BackColor属性更改窗体的BackColor属性。该属性用于获取或设置控件的背景颜色。

可以使用Color结构的静态属性获取Color对象,如Color.Red;也可以使用Color结构的静态方法Color.FromArgb(),并根据RGB3种颜色的组合找到需要的颜色。

进一步地,使用Timer组件实现定时更改窗体颜色。使用Timer组件计时,首先向窗体中拖入Timer组件,然后设置其Enable属性为true,设置Interval属性为30000,在Tick事件中写入随机更改窗体颜色的代码,在窗体执行时会自动更换背景颜色。

一、示例

cs 复制代码
// 使用switch语句更改窗体颜色
namespace _030
{
    public partial class Form1 : Form
    {
        private Label? label1;
        private ComboBox? comboBox1;

        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
        private void Form1_Load(object? sender, EventArgs e)
        {
            // 
            // label1
            // 
            label1 = new Label
            {
                AutoSize = true,
                Location = new Point(43, 20),
                Name = "label1",
                Size = new Size(43, 17),
                TabIndex = 0,
                Text = "选择颜色:"
            };
            // 
            // comboBox1
            // 
            comboBox1 = new ComboBox
            {
                FormattingEnabled = true,
                Location = new Point(130, 12),
                Name = "comboBox1",
                Size = new Size(121, 25),
                TabIndex = 1,
                DropDownStyle = ComboBoxStyle.DropDownList  //设置选项为只读
            };
            comboBox1.Items.AddRange(["红", "绿", "蓝"]);
            comboBox1.SelectedIndexChanged += ComboBox1_SelectedIndexChanged;
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(7F, 17F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(284, 61);
            Controls.Add(comboBox1);
            Controls.Add(label1);
            Name = "Form1";
            StartPosition = FormStartPosition.CenterScreen;
            Text = "switch语句更改颜色";           
            ResumeLayout(false);
            PerformLayout();
        }
        private void ComboBox1_SelectedIndexChanged(object? sender, EventArgs e)
        {
            switch (comboBox1!.SelectedIndex)   //使用switch判断窗体使用哪种颜色
            {
                case 0:
                    BackColor = Color.Red;      //窗体设置为红色
                    break;
                case 1:
                    BackColor = Color.Green;    //窗体设置为绿色
                    break;
                case 2:
                    BackColor = Color.Blue;     //窗体设置为蓝色
                    break;
            }
        }
    }
}

二、生成

相关推荐
小徐不徐说3 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ragnwang3 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3273 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
Dxy12393102165 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷5 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
云和数据.ChenGuang5 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
nice_lcj5206 小时前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试
樱花树下的数学喵7 小时前
手写简易 STL string|C++ 字符串底层实现
开发语言·c++
jimy18 小时前
C++ 报错的 qualifiers 的意思
开发语言·c++