第三章 C#程序结构[3.2 选择结构的应用(Windows窗体应用程序)(四)] - 熟烂的番茄

时间:2024-03-07 20:15:12

第三章 C#程序结构[3.2 选择结构的应用(Windows窗体应用程序)(四)]

【案例】设计一个顾客选购商品的系统。其中,顾客身份有两类,一类是VIP,另一类是普通会员;商品种类有3种。分别是上衣、裤子和鞋子。其中,VIP享受8折优惠和商店赠送的礼品,而普通会员都不享受。单击【确定】按钮后,系统根据顾客不同选择,在文本框显示顾客最终的选购结果。顾客默认身份为普通会员。

【案例目的】(1)学会使用单选按钮;

(2)学会使用复选框;

(3)掌握选择结构与单选按钮、复选框的配合使用。

【案例实现步骤】

1.新建项目:欢迎购物

2.设计程序页面

(1)添加控件

本案例需要添加2个单选按钮、4个复选框、1个按钮、1个标签、1个文本框。

添加控件后的效果如图:

(2)设置控件属性

 

3.编写代码

在设计器视图双击【确定】按钮,VA.NET自动添加了【确定】按钮的Click(单击)事件处理方法button1_Click(),光标定位在该方法的一对大括号之间。在光标定位处输入如下代码: 

string rb1 = "", rb2 = "", cb1 = "", cb2 = "", cb3 = "", cb4 = "";
            if (radioButton1.Checked == true)
                rb1 = radioButton1.Text + ",享受8折优惠";
            else
            {
                rb2 = radioButton2.Text;
                checkBox4.Checked= false;
            }
            if (checkBox1.Checked == true)
                cb1 = checkBox1.Text + " ";
            if (checkBox2.Checked == true)
                cb2 = checkBox2.Text + " ";
            if (checkBox3.Checked == true)
                cb3 = checkBox3.Text + " ";
            if (checkBox4.Checked == true)
                cb4 = "并享有"+checkBox4 .Text ;
            textBox1.Text="您是"+rb1 +rb2+ ",您选购的是:" + cb1 + cb2 + cb3 + cb4;

在设计器视图双击【VIP】单选按钮,VA.NET自动添加了【VIP】按钮的chackedchanged事件处理方法radioButton1_chackedchanged1(),光标定位在该方法的一对大括号之间。在光标定位处输入如下代码:

checkBox4.Enabled = true;

在设计器视图双击【普通会员】单选按钮,VA.NET自动添加了【普通会员】按钮的chackedchanged事件处理方法radioButton2_chackedchanged1(),光标定位在该方法的一对大括号之间。在光标定位处输入如下代码:

checkBox4.Enabled = false ;

4.保存程序

选择【文件】|【保存】命令或单击工具栏上的【保存】按钮保存程序。

5.运行调试程序

                                             (1)

                                            (2)

【相关知识及注意事项】

1.checked属性

checked属性是单选按钮、复选框的一个属性,它表示单选按钮、复选框是否被选中。true表示单选按钮、复选框被选中,false表示未被选中。所以程序可以通过checked属性判断单选按钮、复选框是否被选中,从而执行相应的代码。

2.Enabled属性

 Enabled属性用来设置窗体或控件时有效或无效,其值为true表示有效,false表示无效。本案例中,顾客为普通会员时,Enabled属性为false。

3.Checkedchanged事件

当Checked属性值改变时,触发Checkedchanged事件。当选中【普通会员】单选按钮时,就触发了它的Checkedchanged事件,普通会员是不可选择“赠送礼品”的,所以设置“赠送礼品”复选框Enable属性为false。当选中【VIP】单选按钮时,就触发了它的Checkedchanged事件,VIP是可以选择“赠送礼品”的,所以设置“赠送礼品”复选框Enable属性为true。