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

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验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 控件属性设置

设置完控件属性后,窗体中控件及其布局如图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;

相关文档
最新文档