C#编写WinForm窗体应用程序(第四期)

简介: 在 C# 语言中 RadioButton 是单选按钮控件,多个 RadioButton 控件可以为一组,这一组内的 RadioButton 控件只能有一个被选中。

C# RadioButton:单选按钮控件

在 C# 语言中 RadioButton 是单选按钮控件,多个 RadioButton 控件可以为一组,这一组内的 RadioButton 控件只能有一个被选中。

下面通过实例来演示单选按钮控件 RadioButton 的应用。

【实例】完成选择用户权限的操作,并在消息框中显示所选的权限名。

根据题目要求,用户权限包括“普通用户”“年卡用户”“VIP 用户”,因此需要 3 个单选按钮。

实现该功能的窗体名称为 RadioButtonForm,界面设计如下图所示:

选择用户权限界面,单击“确认”按钮选择相应的用户权限,实现的代码如下:

public partial class RadioButtonForm : Form
{
    public RadioButtonForm()
    {
        InitializeComponent();
    }
    //单击“确定”按钮的事件
    private void button1_Click(object sender, EventArgs e)
    {
       string msg = "";
        if (radioButton1.Checked)
        {
            msg = radioButton1.Text;
        }
       else if (radioButton2.Checked)
        {
            msg = radioButton2.Text;
        }
       else if (radioButton3.Checked)
        {
           msg = radioButton3.Text;
       }
        MessageBox.Show("您选择的权限是:" + msg, "提示");
    }
}

RadioButtonForm 窗体的运行效果如下图所示:



提示:Checked 属性可用于判断单选按钮是否被选中。如果该属性的返回值为 True,则代表选中;如果返回值为 False,则表示未选中。

C# CheckBox

在 C# 语言中复选框 (CheckBox) 是与刚才介绍的单选按钮相对应的,用于选择多个选项的操作。

复选框主要的属性是:Name、Text、Checked。

其中:

• Name:表示这个组件的名称;

• Text:表示这个组件的标题;

• Checked:表示这个组件是否已经选中。

主要的事件就是 CheckedChanged 事件。

下面通过实例来演示复选框 (CheckBox) 的应用。

【实例】完成选择用户爱好的操作,并在消息框中显示所选的爱好。

根据题目要求,用户爱好包括篮球、排球、羽毛球、乒乓球、游泳、阅读、写作,因此需要 7 个复选框。

实现该功能的窗体名称为 CheckBoxForm,窗体设计如下图所示。

选择爱好的窗体设计界面

单击“确认”按钮显示选择的爱好,实现的代码如下。

public partial class CheckBoxForm : Form
{
    public CheckBoxForm()
    {
        InitializeComponent();
    }
    //单击“确认”按钮,显示选择的爱好
    private void button1_Click(object sender, EventArgs e)
    {
        string msg = "";
        if (checkBox1.Checked)
        {
            msg = msg + " " + checkBox1.Text;
        }
        if (checkBox2.Checked)
        {
            msg = msg + " " + checkBox2.Text;
        }
        if (checkBox3.Checked)
        {
            msg = msg + " " + checkBox3.Text;
        }
        if (checkBox4.Checked)
        {
            msg = msg + " " + checkBox4.Text;
        }
        if (checkBox5.Checked)
        {
            msg = msg + " " + checkBox5.Text;
        }
        if (checkBox6.Checked)
        {
            msg = msg + " " + checkBox6.Text;
        }
        if (checkBox7.Checked)
        {
            msg = msg + " " + checkBox7.Text;
        }
        if(msg != "")
        {
            MessageBox.Show("您选择的爱好是:" + msg, "提示");
        }
        else
        {
            MessageBox.Show("您没有选择爱好", "提示");
        }
    }
}

效果如下图所示:



与判断单选按钮是否被选中一样,判断复选框是否被选中也使用 Checked 属性。 试想如果界面上的复选框有几十个或更多,每个复选框都需要判断,则会出现很多的冗余代码。Control除了可以在界面上查找复选框以外,还可以查找其他控件。

C# CheckedListBox

在 C# 语言中提供了与《C# CheckBox》一节中介绍的复选框功能类似的复选列表框 (CheckedListBox),方便用户设置和获取复选列表框中的选项。

复选列表框显示的效果与复选框类似,但在选择多个选项时操作比一般的复选框更方便。

下面通过实例来演示复选列表框的应用。

【实例】使用复选列表框完成选购水果的操作。

根据题目要求,创建一个名为 CheckedListBox 窗体,在复选列表框中添加 6 种水果, 单击“购买”按钮,弹出消息框显示购买的水果种类。

该窗体的设计界面如下图所示:

实现单击“购买”按钮的代码如下:

public partial class CheckedListBox : Form
{
    public CheckedListBox()
    {
        InitializeComponent();
    }
    //“购买”按钮的点击事件,用于在消息框中显示购买的水果种类
    private void button1_Click(object sender, EventArgs e)
    {
        string msg = "";
        for(int i = 0; i < checkedListBox1.CheckedItems.Count; i++)
        {
            msg = msg + " " + checkedListBox1.CheckedItems[i].ToString();
        }
        if (msg != "")
        {
            MessageBox.Show("您购买的水果有:" + msg, "提示");
        }
        else
        {
            MessageBox.Show("您没有选购水果!", "提示");
        }
    }
}

效果图如下:



在使用复选列表框控件时需要注意获取列表中的项使用的是 Checkedltems 属性,获取当前选中的文本(上图中蓝色的区域)使用的是 Selectedltem 属性。

结束语

各位互联网上的同事、同仁、同学们,C# 编写 WinForm 窗体应用程序(第三期)到这里就结束了。

相关文章
|
8天前
|
C#
C# WinForm发送Email邮件
C# WinForm发送Email邮件
C# WinForm发送Email邮件
|
8天前
|
Java 数据库 C#
C#winforms实现windows窗体人脸识别
C#winforms实现windows窗体人脸识别
39 0
|
8天前
|
SQL 数据库连接 应用服务中间件
C#WinForm基础编程(三)
C#WinForm基础编程
86 0
|
8天前
C#WinForm基础编程(二)
C#WinForm基础编程
62 0
|
8天前
|
C# 数据安全/隐私保护
C#WinForm基础编程(一)
C#WinForm基础编程
64 0
|
8天前
|
C# 开发者
C# 9.0中的模块初始化器:程序启动的新控制点
【1月更文挑战第14天】本文介绍了C# 9.0中引入的新特性——模块初始化器(Module initializers)。模块初始化器允许开发者在程序集加载时执行特定代码,为类型初始化提供了更细粒度的控制。文章详细阐述了模块初始化器的语法、用途以及与传统类型初始化器的区别,并通过示例代码展示了如何在实际项目中应用这一新特性。
|
8天前
|
编译器 C# 开发者
C# 9.0中的顶级语句:简化程序入口的新特性
【1月更文挑战第13天】本文介绍了C# 9.0中引入的顶级语句(Top-level statements)特性,该特性允许开发者在不使用传统的类和方法结构的情况下编写简洁的程序入口代码。文章详细阐述了顶级语句的语法、使用场景以及与传统程序结构的区别,并通过示例代码展示了其在实际应用中的便捷性。
|
8天前
|
SQL 存储 Oracle
C#利用IDbCommand实现通用数据库脚本执行程序
C#利用IDbCommand实现通用数据库脚本执行程序
|
8天前
|
前端开发 Java C#
C#程序启动后乱码(通过idea启动)
C#程序启动后乱码(通过idea启动)
18 0
|
8天前
|
C#
C#如何实现窗体最小化到托盘
C#如何实现窗体最小化到托盘
21 0