C语言界面设计经典教程.ppt
《C语言界面设计经典教程.ppt》由会员分享,可在线阅读,更多相关《C语言界面设计经典教程.ppt(219页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C#是一种可视化的程序设计语言。Windows窗体和控件是开发C#应用程序的基础,窗体和控件在C#程序设计中扮演着重要的角色。在C#中,每个Windows窗体和控件都是对象,都是类的实例。窗体是可视化程序设计的基础界面,是其他对象的载体和容器。控件是添加到窗体对象上的对象,每个控件都有自己的属性、方法和事件以完成特定的功能。Windows应用程序设计还体现了另外一种思维,即对事件的处理。2023/3/51C#程序设计实用教程本章将介绍建立Windows应用程序、使用Windows Forms常用控件、菜单和多文档界面设计等。同时向大家展示用Windows窗体来编写程序的特点以及技巧。2023/
2、3/52C#程序设计实用教程 9.1 Windows应用程序的结构VS.NET集成开发环境是基于.NET Framework构建的,该框架提供了一个有条理的、面向对象的、可扩展的类集,它使用户得以开发丰富的Windows应用程序。通过Windows“窗体设计器”进行设计窗体,用户就可以创建Windows应用程序和客户机/服务器应用程序。用户可对窗体设定某些特性并在其上添加控件,然后编写代码以增加控件和窗体的功能。2023/3/53C#程序设计实用教程 9.1 Windows应用程序的结构VS.NET提供了很多工具可以使应用程序的开发快捷、可靠。这些工具包括:Windows窗体可视化设计器。识别
3、代码编辑器。集成的编译和调试。项目管理工具。2023/3/54C#程序设计实用教程 9.1 Windows应用程序的结构典型的Windows应用程序通常包括窗体(Forms)、控件(Controls)和相应的事件(Events)。下面通过C#设计实现一个简单的计算器,要求能够实现基本的加、减、乘、除功能,并以这个“计算器”为例,来了解和掌握Windows应用程序的一般开发过程。2023/3/55C#程序设计实用教程9.1.1 计算器窗体Windows窗体就是创立Windows应用程序的框架。在VS.NET中创建Windows应用程序的第一步就是建立这个框架。操作步骤如下:(1 1)运行VS.N
4、ET,在【起始页】上单击【新建项目】按钮,打开“新建项目”对话框,如图9-1所示。在“项目类型”列表框中指定项目的类型为“Viusal C#”,在“模板”列表框中选择“Windows应用程序”模板,在“名称”文本框中输入Calculator,在“位置”下拉列表中选定保存项目的位置。2023/3/56C#程序设计实用教程9.1.1 计算器窗体(2 2)单击“确定”按钮后就进入VS.NET的主界面,如图9-2所示。从图9-2可以看出,当选择“Windows应用程序”作为应用程序的模板后,系统会自动为用户生成一个空白窗体,一般名为Form1。该窗体就是应用程序运行时显示给用户的操作界面,下一步就是向
5、窗体中添加各种控件。2023/3/57C#程序设计实用教程9.1.2 计算器控件控件表示用户和程序之间的图形化连接控件表示用户和程序之间的图形化连接。控件可以提供或处理数据、接受用户输入、对事件做出响应或执行连接用户和应用程序的其他功能。因为控件本质上是具有图形接口的组件,所以它能通过组件所提供的功能并与用户交互。窗体中的控件有很多,“工具箱”中的“Windows窗体”里包含了所有Windows的标准控件,用户还可以根据需要自己定义控件。通过在“属性”窗口中改变控件的属性可以改变的外观和特性。2023/3/58C#程序设计实用教程9.1.2 计算器控件本例中需要用到如下所列的控件:(1)按钮:
6、16个。10个数字按钮分别用于表示09;4个运算符按钮表示“+”、“-”、“*”、“”;1个“计算”按钮用于实施计算操作;1个“清空”按钮用于清除上次计算结果。(2)标签:1个。用于标示计算结果所在的文本框。(3)文本框:1个。用于显示计算结果。2023/3/59C#程序设计实用教程9.1.2 计算器控件具体添加控件步骤如下:首先向窗体中添加按钮(Button)。具体操作为:在工具箱中单击Button,然后移动鼠标指针到窗体中的预定位置,按下左键拖动鼠标,划出一个方框,释放鼠标左键后,一个按钮就被添加到刚才方框的位置了。调整好大小和位置后单击选中该按钮,在“属性”窗口中可以看到该控件名为But
7、ton1,将该按钮的Text属性设置为“1”。继续在窗体中添加其余15个按钮,并分别设置好它们的属性。2023/3/510C#程序设计实用教程9.1.2 计算器控件界面设计已经完成了,接下来的事情就是为各个控件添加相应的事件代码了。按照同样的方法在窗体中添加一个标签(Label),设置其Text属性为“结果”,再添加一个文本框(TextBox),并设置其Text属性为空。最后,一个简单的计算器的界面就完成了,如图9-3所示。2023/3/511C#程序设计实用教程9.1.3 计算器事件在C#中,基于Windows应用程序设计方法是事件驱动的。事件驱动不是由程序的顺序来控制的,而是由事件的发生来
8、控制的。事件驱动程序设计是围绕着消息的产生与处理而展开的,消息就是关于发生的事件的信息。Windows程序员的工作就是对所开发的应用程序所要发出或者接收的消息进行排序和管理。事件驱动程序方法提供了许多便利,对于那些需要大范围用户干预的应用程序来说,更是很有用处。2023/3/512C#程序设计实用教程9.1.3 计算器事件在“窗体设计器”中看到的是窗体及其中的控件,而要为控件添加事件处理程序就必须先切换到代码编辑器状态。切换到代码编辑器有以下几种方法:(1)双击窗体或者某控件。(2)在解决方案资源管理器中右键单击Form1.cs,从快捷菜单中选择“查看代码”命令。如果选择“视图设计器”则可以回
9、到“窗体设计器”中。(3)当第一次切换到代码编辑器之后,在窗体标题“Form1.cs设计”的左边会自动出现一个新的标题:Form1.cs,单击该标题就可以切换到代码编辑器。反之,如果单击“Form1.cs设计”则会切换到“窗体设计器”。2023/3/513C#程序设计实用教程9.1.3 计算器事件下面分析一下计算器中各个控件到底应该添加什么样的代码。对于计算器来说,当单击某个数字键后,结果显示区内应显示该键上的数字。因此,可以双击按钮“1”,切换到代码编辑器,此时光标就停留在该按钮所对应的代码处,输入下列代码:private void btn1_Click(object sender,Even
10、tArgs e)Button btn=(Button)sender;textBox1.Text+=btn.Text;2023/3/514C#程序设计实用教程9.1.3 计算器事件继续给其他数字按钮添加同样的代码。然后给4个运算符按钮添加下列代码:private void btnAdd_Click(object sender,EventArgs e)Button btn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text+;/空格用于分隔数字各运算符2023/3/515C#程序设计实用教程9.1.3 计算器事件private void btnS
11、ub_Click(object sender,EventArgs e)Button btn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text+;/空格用于分隔数字各运算符 private void btnMul_Click(object sender,EventArgs e)Button btn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text+;/空格用于分隔数字各运算符 2023/3/516C#程序设计实用教程9.1.3 计算器事件 private void btnDiv_Click
12、(object sender,EventArgs e)Button btn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text+;/空格用于分隔数字各运算符 接下来给“清空”按钮添加如下代码:private void btnClear_Click(object sender,EventArgs e)textBox1.Text=;2023/3/517C#程序设计实用教程9.1.3 计算器事件最后给“计算”按钮添加下列代码:private void btnCalculate_Click(object sender,EventArgs e)Sing
13、le r;/用于保存计算结果 string t=textBox1.Text;/t用于保存文本框中的算术表达式 int space=t.IndexOf();/用于搜索空格位置 string s1=t.Substring(0,space);/s1用于保存第一个运算数 char op=Convert.ToChar(t.Substring(space+1,1);/op用于保存运算符 string s2=t.Substring(space+3);/s2用于保存第二个运算数 Single arg1=Convert.ToSingle(s1);/将运算数从string转换为Single Single arg2
14、=Convert.ToSingle(s2);2023/3/518C#程序设计实用教程9.1.3 计算器事件 switch(op)case+:r=arg1+arg2;break;case-:r=arg1-arg2;break;case*:r=arg1*arg2;break;2023/3/519C#程序设计实用教程9.1.3 计算器事件 case/:if(arg2=0)throw new ApplicationException();else r=arg1/arg2;break;break;default:throw new ApplicationException();2023/3/520C#程
15、序设计实用教程9.1.3 计算器事件 /将计算结果显示在文本框中 textBox1.Text=r.ToString();现在,所有的工作都完成了。在“调试”菜单中选择“启动”命令或者“开始执行(不调试)”命令运行该应用程序,计算器可以工作了。2023/3/521C#程序设计实用教程 9.2 Windows窗体通过“计算器”这个例子,已初步了解了Windows应用程序的结构。下面具体介绍Windows应用程序的设计和开发。一个应用程序除了需要实现应有的功能外,还必须具有良好的用户界面。在C#中,Windows应用程序的界面是以窗体(Form)为基础的,窗体是Windows应用程序的基本单位,用来
16、向用户展示信息和接受用户的输入。窗体可以是标准窗口、多文档界面(MDI)窗口、对话框的显示界面。2023/3/522C#程序设计实用教程 9.2 Windows窗体窗体就好像一个容器,其他界面元素都可以放置在窗体中。C#中以类Form来封装窗体,一般来说,用户设计的窗体都是类Form的派生类,用户窗体中添加其他界面元素的操作实际上就是向派生类中添加私有成员。当新建一个Windows应用程序项目时,C#就会自动创建一个默认名为Form1的Windows窗体。2023/3/523C#程序设计实用教程 9.2 Windows窗体Windows窗体由以下4部分组成:标题栏控制按钮边界窗口区2023/3
17、/524C#程序设计实用教程9.2.1 Windows窗体的基本属性Windows窗体的属性可以决定窗体的外观和行为,其中常用的属性有:名称(Name)属性、标题(Text)属性、控制菜单属性和影响窗体外观的属性。1.1.窗体的名称属性(窗体的名称属性(NameName)Name用于设置窗体的名称,该属性值作为窗体的标志,用于在程序中引用窗体。在初始新建一个Windows应用程序项目时,自动创建一个窗体,该窗体的名称被自动命名为Form1;添加第2个窗体时,其名称被自动命名为Form2,依次类推。通常而言,在设计Windows窗体时,可给其Name属性设置一个有实际含义的名字。2023/3/5
18、25C#程序设计实用教程9.2.1 Windows窗体的基本属性2.2.窗体的标题属性(窗体的标题属性(TextText)Text属性用于设置窗体标题栏显示的内容,它的值是一个字符串。通常,标题栏显示的内容应能概括地说明窗体的内容或作用。例如,对于一个登录窗体,其栏题栏设置为“欢迎登录!”。2023/3/526C#程序设计实用教程9.2.1 Windows窗体的基本属性3.3.窗体的控制菜单属性窗体的控制菜单属性在C#应用程序中的Windows窗体,一般都显示控制菜单,以方便用户的操作。(1)ControlBox(1)ControlBox属性属性:该属性用来设置窗体上是否有控制菜单。其默认值T
19、rue,窗体上显示控制菜单。若将该属性设置为False,则窗体上不显示控制菜单,如图9-4所示。2023/3/527C#程序设计实用教程9.2.1 Windows窗体的基本属性(2)MaximizeBox(2)MaximizeBox属性:属性:用于设置窗体上的最大化按钮。其默认值True,窗体上显示最大化按钮。若将该属性设置为False,则窗体上不显示最大化按钮。(3)MinimizeBox(3)MinimizeBox属性:属性:用于设置窗体上的最小化按钮。其默认值True,窗体上显示最小化按钮。若将该属性设置为False,则窗体上不显示最小化按钮。2023/3/528C#程序设计实用教程9.
20、2.1 Windows窗体的基本属性4.4.设置窗体外观的属性设置窗体外观的属性(1)FormBorderStyle属性:用于控制窗体边界的类型。它有7个可选值,可选值说明如表9-1所示。2023/3/529C#程序设计实用教程9.2.1 Windows窗体的基本属性(2)Size属性:用来设置窗体的大小。(3)Location属性:设置窗体在屏幕上的位置,即设置窗体左上角的坐标值。(4)BackColor属性:用于设置窗体的背景颜色,可以从弹出的调色板中选择。2023/3/530C#程序设计实用教程9.2.1 Windows窗体的基本属性(5)BackgroundImage属性:用于设置窗体
21、的背景图像。(6)Opacity属性:该属性用来设置窗体的透明度。5.5.设置窗体可见性的属性设置窗体可见性的属性窗体的可见性由Visible属性来控制。2023/3/531C#程序设计实用教程9.2.2 创建窗体通常,在开发项目时,一个窗体往往不能满足,通常需要用到多个窗体。C#提供了多窗体处理能力,在一个项目中可创建多个窗体,添加新窗体的方式如下:(1)(1)选择项目菜单下的“添加Windows窗体”命令,打开“添加新项”对话框,如图9-5所示。2023/3/532C#程序设计实用教程9.2.2 创建窗体(2)(2)在“添加新项”对话框的模板框内,选择“Windows窗体”模板,然后,单击
22、“打开”按钮,就添加一个新的Windows窗体。完成添加窗体后,在解决方案资源管理器窗口中双击对应的窗体,则在Windows窗体设计器中,可显示该窗体。2023/3/533C#程序设计实用教程9.2.3 设置启动窗体属性当在应用程序中添加了多个窗体后,默认情况下,应用程序中的第一个窗体被自动指定为启动窗体。在应用程序开始运行时,此窗体就会首先显示出来。如果想实现在应用程序启动时,显示别的窗体,那么就要设置启动窗体。如何实现设置启动窗体,请看例9-1。【例例9-19-1】C#设置启动窗体。步骤如下:(1)(1)在一个项目中,添加两个窗体。2023/3/534C#程序设计实用教程9.2.3 设置启
23、动窗体属性(2)(2)在解决方案中,有一个Program.cs文件,双击此文件,此时该文件的代码如下所示:static class Program static void Main()Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1();2023/3/535C#程序设计实用教程9.2.3 设置启动窗体属性(3)(3)要实现先启动Form2,只需在Program.cs文件中修改此行“Application.Run(new F
24、orm1();”代码为“Application.Run(new Form2();”,即可。(4)(4)运行程序,先启动的窗体为Form2。2023/3/536C#程序设计实用教程9.2.4窗体的显示与隐藏1.1.窗体的显示窗体的显示如果要在一个窗体中通过按钮打开另一个窗体,就必须通过调用Show()方法显示窗体。语法如下:public void Show();【例例9-29-2】在Form1窗体中添加一个Button按钮,在按钮的Click事件中调用Show(),打开Form2窗体。代码如下:private void button1_Click(object sender,EventArgs
25、e)Form2 frm2=new Form2();/实例化Form2 frm2.Show();/调用Show方法显示Form2窗体2023/3/537C#程序设计实用教程9.2.4窗体的显示与隐藏2.2.窗体的隐藏窗体的隐藏通过调用Hide()方法隐藏窗体。语法如下:public void Hide();【例9-3】通过登录窗体登录系统,输入用户名和密码后,单击“登录”按钮,隐藏登录窗体,显示主窗体。关键代码如下:this.Hide();/调用Hide方法隐藏当前窗体frmMain frm=new frmMain();/实例化frmMainfrm.Show();/调用Show方法显示frmMa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 界面设计 经典 教程
限制150内