【案例】设计一个顾客选购商品的系统。其中,顾客身份有两类,一类是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. iconfont作用在css伪类中的写法

    iconfont作用在css伪类中需要注意两点: 1.字体声明(font-family: "iconfont";). 2.把字体写成十六进制的Unicode编码.比如:" ...

  2. .NET学习日记【1】

    不得不说,之前一年学习的内容基本上在第一章中都有所涉及,而且还讲了很多不知道知识.看完第一张对多态和继承都多了一些体会.在1.4前面的都有很认证的看过,也在vs上面验证了一下.然后也明白了.NET到底 ...

  3. Ubuntu 16.04+GTX970 黑屏无法安装解决方法

    参考http://www.linuxidc.com/Linux/2017-01/139318.htm http://blog.sciencenet.cn/blog-655584-877622.html ...

  4. H264视频压缩算法

    H264视频压缩算法现在无疑是所有视频压缩技术中使用最广泛,最流行的.随着 x264/openh264以及ffmpeg等开源库的推出, 大多数使用者无需再对H264的细节做过多的研究,这大降低了人们使 ...

  5. python 爬虫 记录

    python3 爬虫需要安装:requests,beautifulsoup4,html5lib 带有中文的需要这样写,要不然就会出现乱码 html = response.content.decode( ...

  6. 用python做一个烟花show

    烟花效果如图(截了几个时刻的静态图): 源代码如下: # -*- coding: utf-8 -*- # Nola import tkinter as tk from PIL import Image ...

  7. PXE 实现自动装机

    搭建 PXE 远程安装服务器 image_1cqg00g0os9b1pop122e98o19ef9b.png-255kB 1.把光盘源放在/var/ftp/centos6 因为远程装机对放服务器得读取 ...

  8. Visual Basic 2017 操作Excel和word【2】持续更新……

    1.控制台程序创建Excel,并设置状态栏显示“Hello World”文本 Module Module1 Private exitXL As Boolean = False Dim WithEven ...

  9. NVMe协议1.3c(一) 概述

    刚开始接触NVMe,对此理解不深,如有错误敬请指出 1.1概述 NVM ExpressTM(NVMeTM)接口允许主机软件与非易失性存储器子系统通信. 此接口针对企业和客户端固态驱动器进行了优化,通常 ...

  10. Maximum Average Subarray

    Given an array with positive and negative numbers, find the maximum average subarray which length sh ...