990 likes | 1.2k Views
第 6 章 C# 开发 Windows 应用程序. 6.1 建立 Windows 应用程序. 我们将在本节先迅速建立一个 Windows 应用程序,从而学习一下建立 Windows 应用程序的基本步骤。 案例 :建立 Windows 应用程序 目标 :掌握建立 Windows 应用程序的基本步骤 步骤 :具体如下. 1 、启动 Visual Studio.NET ,如 6-1 所示。. 图 6-1 启动界面. 2 、单击 “ 新建项目 ” 按钮,打开 “ 新建项目 ” 对话框,界面如图 6-2 所示。. 图 6-2 “ 新建项目 ” 窗口.
E N D
6.1 建立Windows应用程序 我们将在本节先迅速建立一个Windows应用程序,从而学习一下建立Windows应用程序的基本步骤。 案例:建立Windows应用程序 目标:掌握建立Windows应用程序的基本步骤 步骤:具体如下
1、启动Visual Studio.NET,如6-1所示。 图6-1 启动界面
2、单击“新建项目”按钮,打开“新建项目”对话框,界面如图6-2所示。2、单击“新建项目”按钮,打开“新建项目”对话框,界面如图6-2所示。 图6-2 “新建项目”窗口
3、打开VS.NET设计Windows GUI程序设计的主界面,如图6-3所示。 图6-3 VS.NET主窗口
在VS.NET主界面中,主要包含五大部分: 菜单栏:包含“文件”、“编辑”、“视图”、“项目”等十一个顶级菜单,其中每个顶级菜单又包含多级子菜单,通过上述菜单体系,我们就可以使用VS.NET提供的所有功能。 工具栏:工具栏主要体现的是菜单栏里的常用操作,为了使用方便而以“图标”形式显示。VS.NET包括“标准”、“调试”等二十多种工具栏,可由用户决定显示哪种工具栏。 工具箱:C#作为一门支持组件式开发的现代化编程语言,提供了功能强大、种类丰富的组件箱,即工具箱,这极大地方便了程序员进行常规任务的软件开发工作。
窗体设计器:作为窗口的主要载体,窗体是程序员进行Windows窗口设计的主要容器,VS.NET提供的窗体设计器允许程序员“所见即所得”的设计软件界面,开发人员可以方便地将各种控件以鼠标拖放的方式放入窗体中。窗体设计器:作为窗口的主要载体,窗体是程序员进行Windows窗口设计的主要容器,VS.NET提供的窗体设计器允许程序员“所见即所得”的设计软件界面,开发人员可以方便地将各种控件以鼠标拖放的方式放入窗体中。 属性窗口:属性窗口是VS.NET提供的众多工具性窗口中最重要的窗口之一,程序员通过它可以方便地设置软件界面中各种组件的属性值。图 6-4 VS.NET主窗口各部分 上述几部分在VS.NET中的分布情况见图6-4。
4、双击工具箱上的“Button”控件,将它添加到窗体上,并将它移动到窗体中央,然后通过属性窗口修改该按钮的Text属性为:“问候”。如图6-5所示。 图6-5 “问候”窗口
5、用鼠标双击“问候”按钮,打开代码设计窗口,并写下一段代码。 图6-6 “代码设计器”窗口
6、按F5编译并运行该程序,效果如图6-7示。 图6-7 程序运行后的窗口
7、用鼠标单击“问候”按钮,将出现如图6-8界面。 图6-8 单击“问候”按钮后的界面
6.2 使用Windows Forms控件 Windows GUI软件的开发工作,在很大程度上要依赖各种控件来完成一些常规的功能,对于软件开发的初学者来说,要首先掌握Windows Forms的各种控件,下面我们就开始学习Windows GUI软件设计的常用控件。
6.2.1 Button控件 Button控件是程序员在开发Windows GUI程序时最常用的控件之一,它主要用来执行用户的单击功能,至于完成什么功能,那就完全由编写该程序的程序员决定了。 Button控件最重要的属性是Text属性,最重要的事件是Click事件,通常Text属性会直观地描述该Button控件的功能,而Click事件的代码框架,程序员只需在VS.NET的设计状态,用鼠标双击窗体上的Button控件即可获得。 案例:学习Button控件的使用方法 目标:掌握Button控件的Text属性和Click事件的要领 步骤:具体如下
1、启动VS.NET,建立名称为“ButtonTest”的解决方案,然后在窗体上添加Button控件,并修改该控件的Text属性为“ButtonTest”,界面如图6-9所示。 图6-9 ButtonTest设计界面
2、在设计状态用鼠标双击“ButtonTest”按钮,产生如下代码框架: 2、在设计状态用鼠标双击“ButtonTest”按钮,产生如下代码框架: private void button1_Click(object sender, System.EventArgs e) { //程序员编写的响应代码就放在此处 } 上述代码框架即为按钮button1的鼠标单击事件Click的响应代码框架,为了响应该按钮的鼠标单击事件,我们只需把有关代码放在上述框架中即可。 3、添写如下一段响应代码: private void button1_Click(object sender, System.EventArgs e) { MessageBox.Show("努力学习C#!"); }
4、按F5编译并运行ButtonTest解决方案,程序运行后,按下ButtonTest按钮,将会出现如图6-10所示的界面。 图6-10 ButtonTest运行界面
6.2.2 Label控件 Label控件主要用来在软件界面上显示一段静态信息,这段静态信息经常是说明性或提示性的文字,也可用来显示不用更改,只需刷新的信息,比如当前系统的日期和时间等内容。 关于Label控件的常用属性及说明见表6-1。
案例:练习使用Label控件 目标:掌握Label控件常用属性的使用方法 步骤: 1、启动VS.NET,建立名称为“LabelTest”的解决方案,在窗体上添加Label控件和Button控件,并将上述控件的有关属性按表6-2所示设置,设置后的界面如图6-11所示。 图6-11 LabelTest设计界面
2、双击按钮,添加如下代码: private void butGetTime_Click (object sender, System.EventArgs e) { this.lblTime.Text= System.DateTime.Now.ToString(); }
3、单击F5编译并运行LabelTest,再单击“获得当前系统时间”按钮,如图6-12所示界面。3、单击F5编译并运行LabelTest,再单击“获得当前系统时间”按钮,如图6-12所示界面。 图6-12 LabelTest运行界面
6.2.3 LinkLabel控件 LinkLabel控件非常类似网页上的超级链接,它有很多属性类似于Label控件,可以显示静态信息,但是我们要把注意力放在LinkLabel控件的Link功能上,也就是说,当用户用鼠标单击该控件时,它将产生一个事件,程序员写的响应代码就写在该事件里,该事件的名称是LinkClicked。
案例:练习使用LinkLabel控件 目标:掌握Label控件的LinkClicked事件的使用方法 步骤: 1、启动VS.NET,建立名为“LinkLabelTest”的解决方案,在窗体上添加LinkLabel控件,并将上述控件的有关属性按表6-3所示设置,其它属性不变,设置后的界面如图6-13所示。
表6-3 LinkLabelTest方案有关控件的属性设置 图6-13 LinkLabelTest设计界面
2、用鼠标双击LinkLabel控件,VS.NET将自动生成关于LinkClicked事件的代码框架,我们只需把有关代码写在该框架内,当程序运行时,用户只要用鼠标单击该LinkLabel控件,我们写的代码块就会自动运行。 2、用鼠标双击LinkLabel控件,VS.NET将自动生成关于LinkClicked事件的代码框架,我们只需把有关代码写在该框架内,当程序运行时,用户只要用鼠标单击该LinkLabel控件,我们写的代码块就会自动运行。 具体代码样例如下: private void lnkSina_LinkClicked (object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) { MessageBox.Show("您准备访问新浪网!"); }
3、按F5编译并运行本程序后,再用鼠标单击“新浪网”后,将显示如图6-14所示的界面。3、按F5编译并运行本程序后,再用鼠标单击“新浪网”后,将显示如图6-14所示的界面。 图6-14 LinkLabelTest运行界面
6.2.4 TextBox控件 TextBox控件的主要功能是为运行的程序提供输入数据,用户可以通过它输入各种字符数据,程序在接收到数据后再进行相关处理。 TextBox控件的常用属性见表6-4。 表6-4 TextBox控件的常用属性
案例:练习TextBox控件在输入数据方面的作用 目标:掌握如何通过TextBox输入程序要的数据 步骤: 1、启动VS.NET,建立名称为“TextBoxTest”的解决方案,该方案拟实现对两个数据的求和运算。这需要在窗体上添加两个TextBox来输入整数数据,再添加一个Button来完成求和运算,结果放在一个Label里。由于TextBox控件接收的数据按文本处理,所以如果想进行算术运算,必须写代码将接收来的文本数据转换成数值型数据, 控件的属性设置如表6-5所示,如图6-15所示。
图6-15 TextBoxTest设计界面 2、双击“求和”按钮,进入Button控件的Click事件代码框架,添加如下代码段: private void butSum_Click(object sender, System.EventArgs e) { int ret=int.Parse(this.txtNum1.Text)+ int.Parse(this.txtNum2.Text); this.lblResult.Text=ret.ToString(); }
3、按下F5编译并运行TextBoxTest方案,在两个TextBox控件里输入整数再单击“求和”按钮,程序运行结果如图6-16所示。3、按下F5编译并运行TextBoxTest方案,在两个TextBox控件里输入整数再单击“求和”按钮,程序运行结果如图6-16所示。 图6-16 TextBoxText运行界面
6.2.5 CheckBox控件 CheckBox控件主要用在用户进行多项选择的场合,如果用户选中该控件,则它处于打√状态,再单击一次,它的状态就切换到未选中状态。 CheckBox控件的常用属性如表6-6所示。 表6-6 CheckBox控件的常用属性
案例:练习CheckBox控件的使用方法 目标:掌握通过CheckBox进行多项选择编程的技巧 步骤: 1、启动VS.NET,建立名为“TextBoxTest”的解决方案,属性设置参见表6-7,界面如图6-17。 图6-17 CheckBoxTest设计界面
2、用鼠标双击“显示你的爱好”按钮,产生Click事件代码框架,编写如下代码: 2、用鼠标双击“显示你的爱好”按钮,产生Click事件代码框架,编写如下代码: private void butShowFavor_Click(object sender, System.EventArgs e) { string str="你的爱好:"; if(this.chkBooks.Checked) str+=" 看书"; if(this.chkWeb.Checked) str+=" 上网"; if(this.chkGame.Checked) str+=" 玩游戏"; if(this.chkStreet.Checked) str+=" 逛街"; if(this.chkShopping.Checked) str+=" 购物"; this.lblFavor.Text=str; } 图6-16 TextBoxText运行界面
3、按F5编译并运行CheckBoxTest方案,先选择自己的爱好,再单击按钮,产生如图6-18所示的界面:3、按F5编译并运行CheckBoxTest方案,先选择自己的爱好,再单击按钮,产生如图6-18所示的界面: 图6-18 CheckBoxTest运行界面
6.2.6 RadioButton控件 RadioButton控件主要用在用户进行单项选择的场合,如果用户选中某项选择,则其它选项将自动处于未选中状态。RadioButton控件的常用属性如表6-8所示。 表6-8 RadioButton控件的常用属性
案例:练习RadioButton控件的使用方法 目标:掌握RadioButton单项选择编程的基本技巧 步骤: 1、启动VS.NET,建立名为“RadioButtonTest”的解决方案,属性设置参见表6-9。 表6-9 RadioButtonTest方案有关控件的属性设置
按照表6-9设置完属性后,具体界面如图6-19所示。按照表6-9设置完属性后,具体界面如图6-19所示。 图6-19 RadioButtonTest设计界面
2、用鼠标双击“你的性别”按钮,产生Click事件代码框架,编写如下代码: 2、用鼠标双击“你的性别”按钮,产生Click事件代码框架,编写如下代码: private void butSex_Click(object sender, System.EventArgs e) { string str="你的性别是:"; if(this.rbMale.Checked) str+="男"; if(this.rbFemale.Checked) str+="女"; MessageBox.Show(str); }
3、按F5编译并运行RadioButtonTest方案,单击RadioButton进行性别选择,并单击按钮,界面如图6-20所示。3、按F5编译并运行RadioButtonTest方案,单击RadioButton进行性别选择,并单击按钮,界面如图6-20所示。 图6-20 RadioButtonTest运行界面
6.2.7 GroupBox控件 GroupBox控件在软件界面设计中的作用很重要,它是一个容器控件,可以容纳其它控件,在软件界面设计布局中主要有两大功能:一是分组功能,它可以把完成同一功能的多个控件组合在一起;二是装饰功能,如果软件界面上的控件很多,通过若干个GroupBox控件的分组,整个界面就会显得整洁有序、条理清楚。
案例:练习GroupBox控件的使用方法 目标:掌握通过GroupBox控件进行控件分组技巧 步骤: 1、启动VS.NET,建立名为“GroupBoxTest”的解决方案,控件具体属性设置如表6-11所示。 表6-11 GroupBoxTest方案有关控件的属性设置
2、按表6-11设置完GroupBoxTest方案的属性,界面如图6-21所示,由于GroupBox控件无需编码,只需在VS.NET设计状态用鼠标进行拖放操作即可,所以本案例不再演示运行状态。2、按表6-11设置完GroupBoxTest方案的属性,界面如图6-21所示,由于GroupBox控件无需编码,只需在VS.NET设计状态用鼠标进行拖放操作即可,所以本案例不再演示运行状态。 图6-21 GroupBoxTest设计界面
6.2.8 ComboBox控件 ComboBox控件在功能上既有文本框的数据输入功能,又有列表框的条目选择功能,从软件界面设计的角度来讲,ComboBox控件能满足用户从多个条目选择的要求,而且还节省界面空间。ComboBox控件的常用属性如表6-12所示。 表6-12 ComboBox控件的常用属性
案例:练习ComboBox控件的使用方法 目标:掌握通过ComboBox编程的基本技巧 步骤: 1、启动VS.NET,建立名为“ComboBoxTest”的解决方案,属性设置参见表6-13。 表6-13 ComboBoxTest方案有关控件的属性设置
2、选中ComboBox控件,按下F4,打开属性窗口,选择items属性,用鼠标单击右侧窗口,打开字符串集合编辑器,输入各直辖市名称,界面如图6-22所示。2、选中ComboBox控件,按下F4,打开属性窗口,选择items属性,用鼠标单击右侧窗口,打开字符串集合编辑器,输入各直辖市名称,界面如图6-22所示。 图6-22 字符串集合编辑器界面
3、双击ComboBox控件,创建SelectedIndexChanged事件的代码框架,该代码框架在用户选择不同的条目时将自动触发,编写如下代码: 3、双击ComboBox控件,创建SelectedIndexChanged事件的代码框架,该代码框架在用户选择不同的条目时将自动触发,编写如下代码: private void cmbCities_SelectedIndexChanged (object sender, System.EventArgs e) { this.lblChoice.Text= this.cmbCities.Text; }