【案例】设计一个顾客选购商品的系统。其中,顾客身份有两类,一类是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。

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

  1. 第一章 C#入门 (Windows窗体应用程序)(三)

    [案例] 编写一个Windows窗体应用程序,窗体上有一个文本框和两个按钮([显示]和[清除]按钮). 单击[显示]时,文本框的背景变为蓝色并且居中显示“努力学习C#”: 单击[清除]按钮,文本框的背 ...

  2. 第一章 C#入门(Windows窗体应用程序)(二)

    C#窗体应用程序(二) [案例]设计登录界面,效果如下: [案例实现步骤] 1.新建项目(Windows控制台应用程序 文件→新建→项目:选择“项目类型”为Visual C#,“模板”为Windows ...

  3. 第一章 C#入门 (Windows窗体应用程序)(一)

    我的第一个窗体应用程序(一) [案例说明]  在文本框中显示一行文字“Hello C#!”,单击[显示]按钮后在文本框中显示文字:单击[清除]按钮后清除文本框中的内容. [案例实现步骤] 1.新建项目 ...

  4. 选择结构二switch选择结构

     在上一章节我们讲解了if选择结构  本章我们学习 switch选择结构 还要知道if选择结构和switch结构的区别 为什么学习了if选择结构还要学习switch选择结构  以及 两种选择结构的运用 ...

  5. Windows窗体应用程序(非Console)使用libuv实现简单的异步WEB服务器

    libuv是一个很强大的异步处理框架(严格意义上不能叫框架,其实就是一组异步函数库,当然框架这东西有各种各样的定义和理解_^...),最初的的目的是用于NODEJS的异步处理,不过因为它是一个独立的项 ...

  6. 房上的猫:switch选择结构,与选择结构总结

    switch选择结构: 一.定义: switch选择结构,可以方便地解决等值判断问题二.语法:  switch(表达式){   case 常量1:    //代码块1;      break;   c ...

  7. C#开发Windows窗体应用程序的步骤

    使用C#开发应用程序时,一般包括创建项目.界面设计.设置属性.编写程序代码.保存项目.程序运行等6个步骤. 1.创建项目 在Visual Studio2017开发环境中选择“文件”→“新建”→“项目” ...

  8. Windows窗体应用程序常用的几个类的属性、方法以及事件

    System.Diagnostics.Process 属性 public bool EnableRaisingEvents { get; set; }//获取或设置在进程终止时是否应激发 Exited ...

  9. C#windows窗体应用程序如何自适应大小

    用C#的windows窗体应用程序做界面十分轻松,但是系统默认是没有让控件跟随窗体的大小改变而已改变的.所以需要我们手动去设置让窗体控件随着窗体的大小改变而改变.所以我们只需要将控件选择 然后把Anc ...

  10. API、Win32 SDK、Win32项目、MFC、Windows窗体应用程序的区别

    [原]API.Win32 SDK.Win32项目.MFC.Windows窗体应用程序的区别 首先来看一下每一个术语的定义: API:Application Programming Interface. ...

随机推荐

  1. C++类的大小计算

    转自http://www.tuicool.com/articles/uiUJry 一个空的class在内存中多少字节?如果加入一个成员函数后是多大?这个成员函数存储在内存中什么部分? 一个Class对 ...

  2. HashMap 和 HashTable差别

    代码版本 JDK每一版本都在改进.本文讨论的HashMap和HashTable基于JDK 1.7.0_67.源码见这里 1. 时间 HashTable产生于JDK 1.1,而HashMap产生于JDK ...

  3. GoEasy的使用

    GoEasy介绍 http请求短连接,一次请求响应后关闭,而GoEasy建立了客户端与服务器之间的长连接. goeasy支持服务器到客户端的消息发布,客户端到客户端的消息发布 GoEasy用来做什么 ...

  4. learning makefile var

  5. unity中鼠标左键控制摄像机视角上下左右移动

    enum RotationAxes { MouseXAndY, MouseX, MouseY } RotationAxes axes = RotationAxes.MouseXAndY; //@Hid ...

  6. HTML⑤

    W3C : 万维网联盟!(World Wide Web Consortium ) 创建于1994年,是web技术领域最权威最具有影响力的标准机构! W3C规定了web技术领域相关技术的标准! 官网地址 ...

  7. 面试题--Java

    &与&&区别? &与&&都是逻辑运算符,都是判断两边为真则为真,两边为假则为假,但是&&如果第一个条件不成立的话,后面的将不会再继续执行 ...

  8. c语言:开平方根sqrt程序01

    #include <stdio.h> int sqrt01(int x); void main(void){ int x=49,y; y=sqrt01(x); if(y<0) pri ...

  9. (转)Web.config配置文件详解

    花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <? ...

  10. ADV7482&TP2825开发之总结

    ADV7482&TP2825开发之总结 这一两个月在项目里接触到了两个视频解码芯片,主要是使用了两颗芯片的CVBS(NTSC)解码功能.外接CVBS Video接入解码芯片,芯片8位并行输出端 ...