第三章 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。
第三章 C#程序结构[3.2 选择结构的应用(Windows窗体应用程序)(四)]的更多相关文章
- 第一章 C#入门 (Windows窗体应用程序)(三)
[案例] 编写一个Windows窗体应用程序,窗体上有一个文本框和两个按钮([显示]和[清除]按钮). 单击[显示]时,文本框的背景变为蓝色并且居中显示“努力学习C#”: 单击[清除]按钮,文本框的背 ...
- 第一章 C#入门(Windows窗体应用程序)(二)
C#窗体应用程序(二) [案例]设计登录界面,效果如下: [案例实现步骤] 1.新建项目(Windows控制台应用程序 文件→新建→项目:选择“项目类型”为Visual C#,“模板”为Windows ...
- 第一章 C#入门 (Windows窗体应用程序)(一)
我的第一个窗体应用程序(一) [案例说明] 在文本框中显示一行文字“Hello C#!”,单击[显示]按钮后在文本框中显示文字:单击[清除]按钮后清除文本框中的内容. [案例实现步骤] 1.新建项目 ...
- 选择结构二switch选择结构
在上一章节我们讲解了if选择结构 本章我们学习 switch选择结构 还要知道if选择结构和switch结构的区别 为什么学习了if选择结构还要学习switch选择结构 以及 两种选择结构的运用 ...
- Windows窗体应用程序(非Console)使用libuv实现简单的异步WEB服务器
libuv是一个很强大的异步处理框架(严格意义上不能叫框架,其实就是一组异步函数库,当然框架这东西有各种各样的定义和理解_^...),最初的的目的是用于NODEJS的异步处理,不过因为它是一个独立的项 ...
- 房上的猫:switch选择结构,与选择结构总结
switch选择结构: 一.定义: switch选择结构,可以方便地解决等值判断问题二.语法: switch(表达式){ case 常量1: //代码块1; break; c ...
- C#开发Windows窗体应用程序的步骤
使用C#开发应用程序时,一般包括创建项目.界面设计.设置属性.编写程序代码.保存项目.程序运行等6个步骤. 1.创建项目 在Visual Studio2017开发环境中选择“文件”→“新建”→“项目” ...
- Windows窗体应用程序常用的几个类的属性、方法以及事件
System.Diagnostics.Process 属性 public bool EnableRaisingEvents { get; set; }//获取或设置在进程终止时是否应激发 Exited ...
- C#windows窗体应用程序如何自适应大小
用C#的windows窗体应用程序做界面十分轻松,但是系统默认是没有让控件跟随窗体的大小改变而已改变的.所以需要我们手动去设置让窗体控件随着窗体的大小改变而改变.所以我们只需要将控件选择 然后把Anc ...
- API、Win32 SDK、Win32项目、MFC、Windows窗体应用程序的区别
[原]API.Win32 SDK.Win32项目.MFC.Windows窗体应用程序的区别 首先来看一下每一个术语的定义: API:Application Programming Interface. ...
随机推荐
- iconfont作用在css伪类中的写法
iconfont作用在css伪类中需要注意两点: 1.字体声明(font-family: "iconfont";). 2.把字体写成十六进制的Unicode编码.比如:" ...
- .NET学习日记【1】
不得不说,之前一年学习的内容基本上在第一章中都有所涉及,而且还讲了很多不知道知识.看完第一张对多态和继承都多了一些体会.在1.4前面的都有很认证的看过,也在vs上面验证了一下.然后也明白了.NET到底 ...
- Ubuntu 16.04+GTX970 黑屏无法安装解决方法
参考http://www.linuxidc.com/Linux/2017-01/139318.htm http://blog.sciencenet.cn/blog-655584-877622.html ...
- H264视频压缩算法
H264视频压缩算法现在无疑是所有视频压缩技术中使用最广泛,最流行的.随着 x264/openh264以及ffmpeg等开源库的推出, 大多数使用者无需再对H264的细节做过多的研究,这大降低了人们使 ...
- python 爬虫 记录
python3 爬虫需要安装:requests,beautifulsoup4,html5lib 带有中文的需要这样写,要不然就会出现乱码 html = response.content.decode( ...
- 用python做一个烟花show
烟花效果如图(截了几个时刻的静态图): 源代码如下: # -*- coding: utf-8 -*- # Nola import tkinter as tk from PIL import Image ...
- PXE 实现自动装机
搭建 PXE 远程安装服务器 image_1cqg00g0os9b1pop122e98o19ef9b.png-255kB 1.把光盘源放在/var/ftp/centos6 因为远程装机对放服务器得读取 ...
- Visual Basic 2017 操作Excel和word【2】持续更新……
1.控制台程序创建Excel,并设置状态栏显示“Hello World”文本 Module Module1 Private exitXL As Boolean = False Dim WithEven ...
- NVMe协议1.3c(一) 概述
刚开始接触NVMe,对此理解不深,如有错误敬请指出 1.1概述 NVM ExpressTM(NVMeTM)接口允许主机软件与非易失性存储器子系统通信. 此接口针对企业和客户端固态驱动器进行了优化,通常 ...
- Maximum Average Subarray
Given an array with positive and negative numbers, find the maximum average subarray which length sh ...