C#设计由按钮类控件实现的功能窗体实验

更新时间:2024-05-06 19:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验01 设计由按钮类控件实现的功能窗体

【实验目的】

熟悉C#中按钮型控件的使用,锻炼代码编写。 【实验要求】

按要求设计一个窗体,并实现其功能。 【示范模仿】

实验1.1 设计一个点菜窗口,用户只能在“龙虾、青蟹、鲍鱼”中选择一项,对佐料“酱油、芥末、醋”任意选择哪些项,提交后生成选择内容的文本。

(1) 进入C#开发环境 单击Windows的【开始】菜单【所有程序】→【Microsoft Visual Studio 2005】→【Microsoft Visual Studio 2005】。

(2) 创建项目

单击“文件”菜单下的“新建”菜单项中的“项目”子菜单项,在“新建项目”对话框中选择“Windows 应用程序”项,设置合适的名称和位置(文件所在的路径、文件夹),单击“确定”按钮。这时C#创建了一个项目和一个窗体单元文件,我们直接对窗体设置大小和字体等属性。

(3) 添加控件

首先往窗体中添加1个textBox控件textBox1、2个groupBox控件groupBox1~groupBox2和2个button控件button1~button2,在groupBox1中添加3个radioButton控件radioButton1~radioButton3,再在groupBox2中加3个checkBox控件checkBox1~checkBox3。

(4) 设置控件属性

控件属性设置如表1-1所示。

表1-1 控件属性设置

组 件 Form1 groupBox1 radioButton1 radioButton1 radioButton1 button1 属 性 Text Text Text Text Text Text 属性值 按钮控件练习 海鲜 龙虾(&L) 青蟹(&C) 鲍鱼(&A) 提交(&R) 组 件 textBox1 groupBox2 checkBox1 checkBox2 checkBox3 button2 属 性 Text Text Text Text Text Text 属性值 [空串] 佐料 酱油(&S) 芥末(&M) 醋(&V) 关闭(&X) 设置完控件属性后,窗体中控件及其布局如图1-1所示。 (5) 添加并编写控件事件代码

为按钮button1添加Click事件,响应过程为button1_Click;button1_Click程序的作用是按用户设置的radioButton和checkBox的值提交内容,从而让textBox1控件做出相应的显示,其代码如下:

private void button1_Click(object sender, EventArgs e) {

string choice1=\,choice2=\; bool flag=false;

if (radioButton1.Checked) choice1 = \龙虾\; else if (radioButton2.Checked) choice1 = \青蟹\; else if (radioButton3.Checked) choice1 = \鲍鱼\;

if (checkBox1.Checked) { choice2 = \酱油\; flag = true; }

if (checkBox2.Checked) { if (flag) choice2 = choice2 + \、\ ; choice2 = choice2 + \芥末\; flag = true;} if (checkBox3.Checked) { if (flag) choice2 = choice2 + \、\ ; choice2 = choice2 + \醋\; flag = true;}

if (choice1 == \) textBox1.Text = \你尚未点海鲜\; else textBox1.Text = \你选的海鲜是:\ + choice1;

if (!flag) textBox1.Text =textBox1.Text+ \你尚未点佐料\; else textBox1.Text = textBox1.Text+ \你选的佐料是:\ + choice2;

}

为按钮button2添加Click事件,响应程序为button2_Click,button2_Click过程用来关闭窗体,其代码如下:

private void button2_Click_1(object sender, EventArgs e) {

Close(); }

(6) 保存程序

将窗体文件保存为“Form01_ex1.cs”,将主文件保存为“Program01_ex1.cs”。 (7) 运行程序

单击工具栏中【>】按钮或按F5键运行程序。运行后,分别在单选按钮和复选框中输入数据,单击【提交】按钮,窗体将按选择的内容显示在文本框中。

图1-1 实验1.1的界面 图1-2 实验1.2的界面 图1-3 实验1.3界面 【学以致用】

实验1.2 按图1-2设计窗体,当用户选择后,按【确定】按钮,将选择内容显示在textBox控件中,注意各控件上的快捷键。按【取消】按钮,将textBox控件内容清空。

【探索求新】

实验1.3 设计一个表决器,表决器中有6个候选项(如北京、上海、深圳、广州、武汉、南京),单选按钮有1、2、3、4,当选择3时,只能选择3个候选城市,通过程序自动限制复选框的选择数量,【提交】后将选择的城市显示在编辑框中,如图1-3所示。

【挑战新高】

实验1.4 制作一个简易计算器,如图1-4所示。

要求:能用键盘和鼠标输入数据,选择运算符按钮和【=】按钮,可以计算四则运算。

图1-4 简易计算器 图1-5 实验1.5运行效果

实验1.5 用窗体方式设计一个摇号器,输入一个整数n,代表摇号范围,输入一个整数m(m

要求:每次摇号得出不同的结果,随机数出现概率均衡,窗体随摇出数量多少而自动改变大小,如图1-4所示。

提示:随机数函数:

public int[] getRandomNum(int num, int minValue, int maxValue) {

Random ra = new Random(unchecked((int)DateTime.Now.Ticks));

int[] arrNum = new int[num];

redo: int tmp = 0;

for (int i = 0; i <= num - 1; i++) {

tmp = ra.Next(minValue, maxValue);

arrNum[i] = getNum(arrNum, tmp, minValue, maxValue, ra);

}

//下面的for也是循环用来判断是否有重复的数没有! //如果没有这几句在要产生数太多时有重复的!

//比如你从到中产生个以上的不重复随机数是有重复的!

for (int m = 0; m < arrNum.Length; m++)

for (int n = m + 1; n < arrNum.Length; n++) {

if (arrNum[m] == arrNum[n]) goto redo; }

return arrNum; }

public int getNum(int[] arrNum,int tmp,int minValue,int maxValue,Random ra) {

//Random ra=new Random(unchecked((int)DateTime.Now.Ticks));

for(int n=0;n<=arrNum.Length-1;n++) { if (arrNum[n]==tmp) {

tmp=ra.Next(minValue,maxValue);

getNum(arrNum,tmp,minValue,maxValue,ra); } }

return tmp; }

//以上函数getRandomNum随机产生不重复的数并返回一个数组,第一个参数是产生几个随机数,剩下的是随机数的范围!getNum函数用来判断有重复的随机数,该函数是递归调用,直到没有重复递归结束!返回到getRandomNum函数继续生成下一个随机数!如何用!int [] a;

//声明一个数组一会用来接收返回的随机数a=getRandomNum(4,1,10);//从-10中产生个不一样的数装入数组a中

本文来源:https://www.bwwdw.com/article/cwtg.html

Top