第三章 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。