第9章 Windows窗体应用程序开发_第1页
第9章 Windows窗体应用程序开发_第2页
第9章 Windows窗体应用程序开发_第3页
第9章 Windows窗体应用程序开发_第4页
第9章 Windows窗体应用程序开发_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第9 9章章 WindowsWindows窗体应用程序开发窗体应用程序开发本本 章章 要要 点点 WindowsWindows窗体开发基础窗体开发基础 常用常用WindowsWindows控件控件 WindowsWindows菜单设计菜单设计 工具栏与状态栏设计工具栏与状态栏设计 通用对话框编程通用对话框编程9.1 Windows9.1 Windows窗体编程窗体编程 9.1.1 WinForms9.1.1 WinForms概述概述控件可视化界面组件统称为控件p程序执行流程控制模式:程序执行流程控制模式:u过程控制模式(非图形用户界面应用程序的传统控制模式)过程控制模式(非图形用户界面应用程

2、序的传统控制模式)u事件驱动模式(事件驱动模式(WindowsWindows图形用户界面应用程序的控制模式)图形用户界面应用程序的控制模式)9.1.1 WinForms9.1.1 WinForms概述概述“开始开始”“程序程序”“Microsoft Visual Studio.NET Microsoft Visual Studio.NET 20082008”“Microsoft Visual Studio.NET 2008Microsoft Visual Studio.NET 2008”9.1.1 WinForms9.1.1 WinForms概述概述9.1.1 WinForms9.1.1 Wi

3、nForms概述概述设计窗口 各种控件属性放置控件的区域using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace WindowsApplication3 public partial class Form1 : Form public Form1() InitializeComponent(); 提供了大量绘图工具的访问

4、权限基础核心命名空间ArrayList、BitArray、Hashtable、Stack、StringCollection 和 StringTable 类 大量窗体和控件从 System.Windows.Forms.Form 派生Visual Studio .NET 生成的代码9.1.1 WinForms9.1.1 WinForms概述概述 partial class Form1 / / 必需的设计器变量。 / private System.ComponentModel.IContainer components = null;构造函数调用 InitializeComponent() 方法 #

5、region Windows 窗体设计器生成的代码窗体设计器生成的代码 / / 设计器支持所需的方法设计器支持所需的方法 - 不要不要 / 使用代码编辑器修改此方法的内容。使用代码编辑器修改此方法的内容。 / private void InitializeComponent() this.SuspendLayout(); / / Form1 / this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; th

6、is.ClientSize = new System.Drawing.Size(333, 266); this.Name = Form1; this.Text = Form1; this.ResumeLayout(false); #endregion项目的容器9.1.1 WinForms9.1.1 WinForms概述概述 / / 清理所有正在使用的资源。 / / 如果应释放托管资源,为 true;否则为 false。 protected override void Dispose(bool disposing) if (disposing & (components != null)

7、 components.Dispose(); base.Dispose(disposing); 释放系统资源9.1.1 WinForms9.1.1 WinForms概述概述 static class Program / / 应用程序的主入口点。 / STAThread static void Main() Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1(); 程序的主入口点 9.1.1 WinForms9.1.1 W

8、inForms概述概述标签按钮组合框列表框文本框9.1.1 WinForms9.1.1 WinForms概述概述(1 1)创建窗体)创建窗体(2 2)为窗体添加控件)为窗体添加控件(3 3)设计控件在窗体中的布局)设计控件在窗体中的布局 (4 4)设置各控件属性)设置各控件属性(5 5)编写代码,响应控件事件)编写代码,响应控件事件GUI(Graphics User GUI(Graphics User Interface)Interface),即图形用户,即图形用户界面,是指用图形的方式界面,是指用图形的方式实现人与计算机之间的交实现人与计算机之间的交互。互。9.1.2 9.1.2 编写编写G

9、UIGUI应用程序的步骤应用程序的步骤9.1.3 Control9.1.3 Control类类 .NET .NET中的大多数控件都派生于中的大多数控件都派生于System.Windows.Forms.ControlSystem.Windows.Forms.Control类。类。ControlControl类实现了所有窗体交互控件的基本功能:处理用户键盘类实现了所有窗体交互控件的基本功能:处理用户键盘输入、处理消息驱动、限制控件大小等等。输入、处理消息驱动、限制控件大小等等。ControlControl类的属性类的属性ControlControl类的属性类的属性ControlControl类的属

10、性类的属性p NameName: 9.1.4 9.1.4 控件的基本属性控件的基本属性用来获取或设置控件的名称。名称是控件的标识。用来获取或设置控件的名称。名称是控件的标识。p TextText: 用来获取或设置控件的标题文字。用来获取或设置控件的标题文字。p WidthWidth和和HeightHeight: 用来获取或设置控件的大小。用来获取或设置控件的大小。p X X和和Y Y: 用来获取或设置控件的位置。用来获取或设置控件的位置。p VisibleVisible: 用来获取或设置控件是否可见。取值为用来获取或设置控件是否可见。取值为true或或false。p EnabledEnable

11、d: 9.1.4 9.1.4 控件的基本属性控件的基本属性p ForeColorForeColor: 用来获取或设置控件的前景色。用来获取或设置控件的前景色。p BackColorBackColor: 用来获取或设置控件的背景色。用来获取或设置控件的背景色。p FontFont: 用来获取或设置控件的字体。用来获取或设置控件的字体。p BorderStyleBorderStyle: 用来获取或设置控件的边框。用来获取或设置控件的边框。用来获取或设置控件是否对响应交互。取值为用来获取或设置控件是否对响应交互。取值为true或或false。p AutoSizeAutoSize: 9.1.4 9.1

12、.4 控件的基本属性控件的基本属性p AnchorAnchor: p DockDock: 获取或设置控件停靠到父容器的哪一个边缘。获取或设置控件停靠到父容器的哪一个边缘。p TextAlignTextAlign: 用来确定文本对齐方式。用来确定文本对齐方式。p CursorCursor: 用来获取或设置鼠标移到控件上时,被显示的鼠标指针类型。用来获取或设置鼠标移到控件上时,被显示的鼠标指针类型。用来获取或设置控件是否自动调整大小。取值为用来获取或设置控件是否自动调整大小。取值为true或或false。获取或设置控件的哪些边缘锚定到其容器边缘。获取或设置控件的哪些边缘锚定到其容器边缘。(1)Na

13、me: 用来获取或设置控件的名称。名用来获取或设置控件的名称。名称是控件的标识。称是控件的标识。(2)Text: 用来获取或设置控件的标题文字。用来获取或设置控件的标题文字。(3)Width和和Height: 用来获取或设置控件的大小。用来获取或设置控件的大小。(4)X和和Y: 用来获取或设置控件的位置。用来获取或设置控件的位置。(5)Visible: 用来获取或设置控件是否可见。用来获取或设置控件是否可见。取值为取值为true或或false。(6)Enabled: 用来获取或设置控件是否对响应用来获取或设置控件是否对响应交互。取值为交互。取值为true或或false。(7)ForeColor

14、: 用来获取或设置控件的前景色。用来获取或设置控件的前景色。(8)BackColor: 用来获取或设置控件的背景色。用来获取或设置控件的背景色。(9)Font: 用来获取或设置控件的字体。用来获取或设置控件的字体。(10)BorderStyle: 用来获取或设置控件的边框。用来获取或设置控件的边框。(11)AutoSize: 用来获取或设置控件是否自动用来获取或设置控件是否自动调整大小。取值为调整大小。取值为true或或false。(12)Anchor: 获取或设置控件的哪些边缘锚获取或设置控件的哪些边缘锚定到其容器边缘。定到其容器边缘。(13)Dock: 获取或设置控件停靠到父容器获取或设置

15、控件停靠到父容器的哪一个边缘。的哪一个边缘。(14) TextAlign: 用来确定文本对齐方式。用来确定文本对齐方式。(15)Cursor: 用来获取或设置鼠标移到控件用来获取或设置鼠标移到控件上时,被显示的鼠标指针的类型。上时,被显示的鼠标指针的类型。 在窗体上放置一个图片框、一个在窗体上放置一个图片框、一个“显示显示”按钮和一个按钮和一个“隐藏隐藏”按钮。开始运行时,图片不可见,按钮。开始运行时,图片不可见,“显示显示“按钮按钮可用,可用,“隐藏隐藏”按钮不可用。单击按钮不可用。单击“显示显示”按钮后,图片按钮后,图片显示出来,显示出来,“显示显示”按钮变成不可用,而按钮变成不可用,而“

16、隐藏隐藏”按钮变按钮变成可用。成可用。例例9-19-1:图片的显示和隐藏:图片的显示和隐藏问题描述9.1.5 9.1.5 事件和事件处理事件和事件处理 事件处理程序是绑定到事件的方法。当引发事件时,执事件处理程序是绑定到事件的方法。当引发事件时,执行事件处理程序内的代码。每个事件处理程序提供两个处理行事件处理程序内的代码。每个事件处理程序提供两个处理事件的参数。如下为事件的参数。如下为Button Button 控件的控件的 Click Click 事件的事件处理事件的事件处理程序:程序:第一个参数第一个参数 sender 提供对引发事件的对象的引用。第二个参数提供对引发事件的对象的引用。第二

17、个参数e传递针传递针对要处理的事件的对象。通过引用对象的属性(有时引用其方法)可获得对要处理的事件的对象。通过引用对象的属性(有时引用其方法)可获得一些信息,如鼠标事件中鼠标的位置或拖放事件中传输的数据。一些信息,如鼠标事件中鼠标的位置或拖放事件中传输的数据。private void button1_Clicked(object sender, System.EventArgs e) p 键盘事件:键盘事件: 当用户对键盘进行操作时,系统会产生相应的键盘当用户对键盘进行操作时,系统会产生相应的键盘事件。当用户按下某个键时,就会发生事件。当用户按下某个键时,就会发生KeyDownKeyDown事

18、件,事件,随后便发生随后便发生KeyPressKeyPress事件。而当用户释放某个键时,发事件。而当用户释放某个键时,发生生KeyUpKeyUp事件。当用户按住某个键不放时,事件。当用户按住某个键不放时,KeyDownKeyDown和和KeyPressKeyPress事件会不停地重复触发。事件会不停地重复触发。9.1.5 9.1.5 事件和事件处理事件和事件处理p 鼠标事件:鼠标事件: 鼠标是一种定位输入设备,通常有两个或三个按鼠标是一种定位输入设备,通常有两个或三个按钮(左、中和右按钮),还可能有滚轮。它的基本操钮(左、中和右按钮),还可能有滚轮。它的基本操作方式主要有:单击、双击和滚动。

19、作方式主要有:单击、双击和滚动。 9.1.5 9.1.5 事件和事件处理事件和事件处理ControlControl类的事件类的事件 ControlControl类的方法类的方法ControlControl类的方法类的方法例例9-29-2:图片显示控制:图片显示控制问题描述 窗体上用图片框显示一张图片。当在图片框上单击鼠窗体上用图片框显示一张图片。当在图片框上单击鼠标左键时图片放大标左键时图片放大10%10%,单击鼠标右键时图片缩小,单击鼠标右键时图片缩小10%10%。鼠。鼠标在图片框上移动时,窗体标题显示当前位置坐标。标在图片框上移动时,窗体标题显示当前位置坐标。9.2 9.2 常用控件常用控

20、件标签(标签(LabelLabel):用于显示用户不能编):用于显示用户不能编辑的文本或图象,起标注或说明作用。辑的文本或图象,起标注或说明作用。该控件不能获得焦点。该控件不能获得焦点。9.2.1 9.2.1 标签标签标签 标签的属性、事件与方法标签的属性、事件与方法9.2.1 9.2.1 标签标签按钮(按钮(ButtonButton):提供用户与应用程序):提供用户与应用程序的交互,单击按钮来执行相应的操作。的交互,单击按钮来执行相应的操作。 9.2.2 9.2.2 按钮按钮按钮 按钮的属性、事件与方法按钮的属性、事件与方法9.2.2 9.2.2 按钮按钮9.2.2 9.2.2 按钮按钮Cl

21、ickClick事件练习。事件练习。private void button1_Click(object sender,System.EventArgs e) MessageBox.Show(this,你点击了你点击了确定确定按钮。按钮。, 提示信息提示信息,MessageBoxButtons.OK, MessageBoxIcon.Information);9.2.2 9.2.2 按钮按钮MouseEnterMouseEnter事件练习。事件练习。private void button1_MouseEnter(object sender,System.EventArgs e) /颜色在颜色在Sy

22、stem.Drawing名称空间下名称空间下 this.button1.BackColor=Color.Red; 9.2.2 9.2.2 按钮按钮MouseLeaveMouseLeave事件练习。事件练习。private void button1_MouseLeave(object sender,System.EventArgs e) this.button1.BackColor=SystemColors.Control; 文本框(文本框(TextBoxTextBox):文本框经常用于获):文本框经常用于获取用户输入或显示文本,通常用于可编辑取用户输入或显示文本,通常用于可编辑文本,也可以设定

23、其成为只读控件。文本文本,也可以设定其成为只读控件。文本框能够显示多行数据,并添加基本的格式框能够显示多行数据,并添加基本的格式设置。设置。 9.2.3 9.2.3 文本框文本框文本框属属 性性说说 明明方方 法法说说 明明事事 件件说说 明明TextText属性是文本框最重要的属性,要属性是文本框最重要的属性,要显示的文本就包含在显示的文本就包含在TextText属性中。属性中。TextText属性可以在设计窗口时使用属性属性可以在设计窗口时使用属性窗口设置,也可以在运行时用代码设窗口设置,也可以在运行时用代码设置或者通过用户输入设置,同样也可置或者通过用户输入设置,同样也可以在运行时通过读

24、取以在运行时通过读取TextText属性来获得属性来获得文本框的当前内容。文本框的当前内容。 文本框的属性、事件与方法文本框的属性、事件与方法9.2.3 9.2.3 文本框文本框 设计一个乘法运算窗口,如下图所示,该窗口能设计一个乘法运算窗口,如下图所示,该窗口能完成浮点数乘法运算。完成浮点数乘法运算。例例9-39-3:乘法运算:乘法运算说明 private void button1_Click(object sender, EventArgs e)/求积求积 double a=0, b=0, s=0; try a = Convert.ToDouble(textBox1.Text); b =

25、Convert.ToDouble(textBox2.Text); catch(Exception exp) MessageBox.Show(exp.Message); s = a * b; textBox3.Text = Convert.ToString(s); private void button2_Click(object sender, EventArgs e)/清空清空 textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); private void button3_Click(object sender, EventArgs e)

26、/退出退出 this.Close(); 设计一个登录窗口。登录窗口是很多应用系统中不设计一个登录窗口。登录窗口是很多应用系统中不可缺少的组成部分。通过验证用户输入的用户名和密码,可缺少的组成部分。通过验证用户输入的用户名和密码,决定是否允许用户进入系统,可在一定程度上保证系统决定是否允许用户进入系统,可在一定程度上保证系统的安全。的安全。例例9-49-4:登录窗体设计:登录窗体设计说明private void button1_Click(object sender, EventArgs e) if (this.textBox1.Text = “abc”) & (this.textBox

27、2.Text = “123”) MessageBox.Show(“登录成功登录成功”); else MessageBox.Show(“输入错误!输入错误!”); private void button2_Click(object sender, EventArgs e) this.textBox1.Clear(); this.textBox2.Clear(); this.textBox1.Focus ();(); 单选按钮(单选按钮(RadioButtonRadioButton):单选按钮):单选按钮(RadioButtonRadioButton)通常成组出现,用于)通常成组出现,用于为用户提

28、供两个或多个互相排斥的选为用户提供两个或多个互相排斥的选项。项。 单选按钮是以他们所在的容器划单选按钮是以他们所在的容器划分组的,直接在分组的,直接在FormForm上放置的单选按上放置的单选按钮将自动成为一组,这时钮将自动成为一组,这时FormForm就是容就是容器,当选中容器中的一个单选按钮时,器,当选中容器中的一个单选按钮时,其他的将自动撤销选中。其他的将自动撤销选中。 9.2.4 9.2.4 单选按钮控件单选按钮控件 如果要在一个如果要在一个FormForm上创建多个单选按钮组,则需要使用上创建多个单选按钮组,则需要使用GroupBoxGroupBox或者或者PanelPanel控件作

29、为容器。控件作为容器。 把单选按钮组合在一起,使它们创建一个逻辑单元。首把单选按钮组合在一起,使它们创建一个逻辑单元。首先在窗体上拖放一个先在窗体上拖放一个GroupBoxGroupBox控件(组框),再把需要的控件(组框),再把需要的RadioButtonRadioButton按钮放在组框的边界内,按钮放在组框的边界内,RadioButtonRadioButton按钮知按钮知道如何改变自己的状态,以反应组框中唯一被选中的选项。道如何改变自己的状态,以反应组框中唯一被选中的选项。9.2.4 9.2.4 单选按钮控件单选按钮控件属属 性性说说 明明获取或设置确定单选按钮控件外观的值获取或设置确定

30、单选按钮控件外观的值获取或设置与此控件关联的文本获取或设置与此控件关联的文本获取或设置获取或设置RadioButtonRadioButton的复选框部分的位置的复选框部分的位置获取或设置显示在按钮控件上的图像获取或设置显示在按钮控件上的图像获取或设置一个值,该值指示是否已选中控件获取或设置一个值,该值指示是否已选中控件事事 件件说说 明明当当 Checked Checked 属性的值更改时发生属性的值更改时发生在单击控件时发生在单击控件时发生单选按钮的属性、事件单选按钮的属性、事件9.2.4 9.2.4 单选按钮控件单选按钮控件例例9-59-5: RadioButtonRadioButton控

31、件的实例练习控件的实例练习 复选按钮(复选按钮( CheckBox CheckBox ):复选框):复选框(CheckBoxCheckBox)指示某特定条件是打)指示某特定条件是打开的还是关闭的。当用户希望选择开的还是关闭的。当用户希望选择一个或多个选项时,就需要使用复一个或多个选项时,就需要使用复选框。多个选框。多个CheckBoxCheckBox控件构成一组控件构成一组选项时,可以进行多重选择,相互选项时,可以进行多重选择,相互之间不影响。之间不影响。 9.2.5 9.2.5 复选按钮控件复选按钮控件属属 性性说说 明明获取或设置确复选按钮控件外观的值获取或设置确复选按钮控件外观的值获取或

32、设置与此控件关联的文本获取或设置与此控件关联的文本获取或设置显示在按钮控件上的图像获取或设置显示在按钮控件上的图像获取或设置一个值,该值指示是否已选中控件获取或设置一个值,该值指示是否已选中控件获取或设置获取或设置CheckBoxCheckBox的状态的状态获取或设置一个值,该值指示此获取或设置一个值,该值指示此CheckBoxCheckBox是否允许三种复是否允许三种复选状态而不是两种。选状态而不是两种。事事 件件说说 明明当当 Checked Checked 属性的值更改时发生属性的值更改时发生当当CheckStateCheckState属性的值更改时发生属性的值更改时发生在单击控件时发生

33、在单击控件时发生复选按钮的属性、事件复选按钮的属性、事件9.2.5 9.2.5 复选按钮控件复选按钮控件 一个关于一个关于RadioButtonRadioButton控件以及控件以及CheckBoxCheckBox控件的使控件的使用的简单例子。程序界面如下:用的简单例子。程序界面如下: 例例9-69-6:简单的学生信息调查的设计与实现:简单的学生信息调查的设计与实现 private void button1_Click(object sender, EventArgs e) string name; string sex; string course=null; name = textBox1

34、.Text; if (radioButton1.Checked) sex = radioButton1.Text; else sex = radioButton2.Text; if (checkBox1.Checked) course += checkBox1.Text + ; if (checkBox2.Checked) course += checkBox2.Text + ; if (checkBox3.Checked) course += checkBox3.Text + ; if (checkBox4.Checked) course += checkBox4.Text + “; tex

35、tBox2.Show(); textBox2.Text = 姓名:姓名: + name + rnrn + 性别:性别: + sex + rnrn + 所学过的课程:所学过的课程: + course; 本案例建立一个使用单选钮和复选钮的应用程序,界本案例建立一个使用单选钮和复选钮的应用程序,界面上有一个文本框,两组单选钮和一组复选钮。两组单面上有一个文本框,两组单选钮和一组复选钮。两组单选钮分别用于设置文本框的字体和字号,一组复选钮用选钮分别用于设置文本框的字体和字号,一组复选钮用于设置文本框的字型。程序界面如下:于设置文本框的字型。程序界面如下: 例例9-79-7:字体设置案例:字体设置案例说

36、明 /“字体字体宋体宋体”设置设置 private void radioButton1_CheckedChanged(object sender, EventArgs e) textBox1.Font = new Font(宋体宋体, textBox1.Font.Size,textBox1.Font.Style); /“字体字体隶书隶书”设置设置 private void radioButton2_CheckedChanged(object sender, EventArgs e) textBox1.Font = new Font(隶书隶书, textBox1.Font.Size, textB

37、ox1.Font.Style); /“字体字体楷体楷体_GB2312”设置设置 private void radioButton3_CheckedChanged(object sender, EventArgs e) textBox1.Font = new Font(楷体楷体_GB2312, textBox1.Font.Size, textBox1.Font.Style); /“字号字号小五小五”设置设置 private void radioButton6_CheckedChanged(object sender, EventArgs e) textBox1.Font = new Font(t

38、extBox1.Font.Name, 9f, textBox1.Font.Style); /“字号字号三号三号”设置设置 private void radioButton5_CheckedChanged(object sender, EventArgs e) textBox1.Font = new Font(textBox1.Font.Name, 15.75f, textBox1.Font.Style); /“字号字号一号一号”设置设置 private void radioButton4_CheckedChanged(object sender, EventArgs e) textBox1.F

39、ont = new Font(textBox1.Font.Name, 26.25f, textBox1.Font.Style); /“字型字型加粗加粗”设置设置 private void checkBox1_CheckedChanged(object sender, EventArgs e) if (checkBox1.Checked) textBox1.Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style | FontStyle.Bold); else textBox1.Font = new F

40、ont(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style & FontStyle.Bold); /“字型字型斜体斜体”设置设置 private void checkBox2_CheckedChanged(object sender, EventArgs e) if (checkBox2.Checked) textBox1.Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style | FontStyle.Italic); el

41、se textBox1.Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style & FontStyle.Italic); /“字型字型下划线下划线”设置设置 private void checkBox3_CheckedChanged(object sender, EventArgs e) if (checkBox3.Checked) textBox1.Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.S

42、tyle | FontStyle.Underline); else textBox1.Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style & FontStyle.Underline); 列表框(列表框( ListBox ListBox ):列表框控):列表框控件用来显示一组条目,以便让操作件用来显示一组条目,以便让操作者从中选择一条或者多条,然后进者从中选择一条或者多条,然后进行相应的处理。行相应的处理。 9.2.6 9.2.6 列表框列表框p ItemsItems: 列表框的主要属性列

43、表框的主要属性p MultiColumnMultiColumn: p ColumnWidthColumnWidth: 获取或设置多列获取或设置多列ListBox 中列的宽度。中列的宽度。p SelectedIndexSelectedIndex: 获取或设置获取或设置ListBox中当前选定项的从零开始的索引。中当前选定项的从零开始的索引。获取或设置获取或设置ListBox 的项。的项。获取或设置一个值,该值指示获取或设置一个值,该值指示 ListBox 是否支持多列。是否支持多列。p SelectedItemsSelectedItems: 获取包含获取包含ListBox中当前选定项的集合。中当

44、前选定项的集合。p SelectionModeSelectionMode: 获取或设置在获取或设置在 ListBox 中选择项所用的方法。中选择项所用的方法。p SortedSorted: 获取或设置一个值,该值指示获取或设置一个值,该值指示 ListBox 中的项是否按字中的项是否按字母顺序排序。母顺序排序。p SelectedItemSelectedItem: 获取或设置获取或设置ListBox中的当前选定项。中的当前选定项。列表框的主要属性列表框的主要属性p Items.AddItems.Add() () p Items.ClearItems.Clear()() 从集合中移除所有的项。从

45、集合中移除所有的项。p Items.InsertItems.Insert()() 将项插入列表框的指定索引处。将项插入列表框的指定索引处。p Items.RemoveItems.Remove()() 从集合中移除指定的对象。从集合中移除指定的对象。p Items.RemoveAtItems.RemoveAt()() 移除集合中指定索引处的项。移除集合中指定索引处的项。向向 ListBox 的项列表添加项。的项列表添加项。列表框的主要方法列表框的主要方法例例9-89-8:列表框的使用举例:列表框的使用举例 /添加新的课程添加新的课程 private void button1_Click(obje

46、ct sender, EventArgs e) bool exit = false; if (textBox1.Text = ) MessageBox.Show(所添加的课程不能为空。所添加的课程不能为空。); else for (int i = 0; i ”按钮单击事件按钮单击事件 private void button2_Click(object sender, EventArgs e) try this.listBox2.Items.Add(this.listBox1.SelectedItem); this.listBox1.Items.Remove(this.listBox1.Sele

47、ctedItem); catch(Exception exp) MessageBox.Show(exp.Message); /”按钮单击事件按钮单击事件 private void button4_Click(object sender, EventArgs e) for(int i=0;ithis.listBox1.Items.Count;i+) this.listBox2.Items.Add(this.listBox1.Itemsi); this.listBox1.Items.Clear(); /”按钮单击事件按钮单击事件 private void button5_Click(object

48、sender, EventArgs e) for (int i = 0; i ”按钮单击事件按钮单击事件 private void button1_Click(object sender, EventArgs e) bool exit=false; for (int i = 0; i listBox2.Items.Count; i+) if (listBox2.Itemsi.ToString() = listBox1.SelectedItem.ToString() MessageBox.Show(该产品已经选择该产品已经选择); exit = true; break; if (exit = f

49、alse) listBox2.Items.Add(listBox1.SelectedItem.ToString(); /“”按钮单击事件 private void button3_Click(object sender, EventArgs e) for (int i = 0; i listBox1.Items.Count; i+) bool exit = false; for(int j=0;jlistBox2.Items.Count;j+) if (listBox1.Itemsi.ToString() = listBox2.Itemsj.ToString() exit = true; br

50、eak; if (exit = false) listBox2.Items.Add(listBox1.Itemsi.ToString(); /“”按钮单击事件 private void button4_Click(object sender, EventArgs e) listBox2.Items.Clear(); /“确定”按钮单击事件 private void button5_Click(object sender, EventArgs e) string name = this.textBox1.Text; string phone = this.textBox2.Text; strin

51、g comm = ; string payment = ; string acknowledgement = ; for (int i = 0; i listBox2.Items.Count; i+) comm +=listBox2.Itemsi.ToString() + ; if (radioButton1.Checked) payment = radioButton1.Text; else payment = radioButton2.Text; if (checkBox1.Checked) acknowledgement += checkBox1.Text + ; if (checkBo

52、x2.Checked) acknowledgement += checkBox2.Text + ; if (checkBox3.Checked) acknowledgement += checkBox3.Text + ; this.textBox3.Text = 姓名:姓名: + name + rn + 电话:电话: + phone + rn + 已选择的商品:已选择的商品: + comm + rn + 付款方式:付款方式: + payment + rn + 确认方式:确认方式: + acknowledgement; /“取消”按钮单击事件 private void button6_Click

53、(object sender, EventArgs e) this.textBox1.Clear(); this.textBox2.Clear(); boBox1.SelectedIndex = 0; this.listBox1.Items.Clear(); this.listBox2.Items.Clear(); this.checkBox1.Checked = false; this.checkBox2.Checked = false; this.checkBox3.Checked = false; this.textBox3.Clear(); ToolTipToolTip组件,其作用是当

54、鼠标停留在组件,其作用是当鼠标停留在某个与某个与ToolTipToolTip组件建立关联的控件上一段组件建立关联的控件上一段时间后,自动显示该控件功能的提示信息。时间后,自动显示该控件功能的提示信息。 主要属性有:主要属性有: uu ActiveActive:指示该控件当前是否处于激指示该控件当前是否处于激活状态。活状态。 uu AutomaticDelayAutomaticDelay:设置经过多长时间设置经过多长时间显示提示信息,缺省值为显示提示信息,缺省值为500ms500ms。 uu AutoPopDelayAutoPopDelay:设置鼠标指针停留多设置鼠标指针停留多长时间后消失提示信

55、息。长时间后消失提示信息。 9.2.8 ToolTip9.2.8 ToolTip控件控件 例如:向设计窗体拖放一个例如:向设计窗体拖放一个ToolTipToolTip控件,然后在构控件,然后在构造函数中加入下列代码:造函数中加入下列代码: this.toolTip1.SetToolTip(boBox1,选择参加的小组。选择参加的小组。); this.toolTip1.SetToolTip(boBox2,选择左边小组参加的项目。选择左边小组参加的项目。); this.toolTip1.SetToolTip(this.listBox1,各小组参加的项目列表。各小组参加的项目列表。); 运行,分别将

56、鼠标在上述控件中停留一段时间,观运行,分别将鼠标在上述控件中停留一段时间,观察显示的提示信息。察显示的提示信息。 PictureBoxPictureBox控件是用于显示图像控件是用于显示图像的的WindowsWindows图片框控件。图片框控件。9.2.9 PictureBox9.2.9 PictureBox控件控件PictureBoxPictureBox控件的主要属性控件的主要属性ImageImage:在在PictureBoxPictureBox中显示的图片。中显示的图片。SizeModeSizeMode:图片在控件中的显示方式,有如下图片在控件中的显示方式,有如下5 5种选择。种选择。Au

57、toSize:AutoSize:自动调整控件自动调整控件PictureBoxPictureBox的大小,使其等于所的大小,使其等于所包含的图片大小;包含的图片大小;CenterImageCenterImage:将控件的中心和图片的中心对齐显示。如将控件的中心和图片的中心对齐显示。如果控件比图片大,则图片将居中显示;如果图片比控件果控件比图片大,则图片将居中显示;如果图片比控件大,则图片将居于控件中心,而外边缘将被剪裁掉。大,则图片将居于控件中心,而外边缘将被剪裁掉。NormalNormal:图片被置于控件的左上角。如果图片比控件大,图片被置于控件的左上角。如果图片比控件大,则超出部分被剪裁掉。

58、则超出部分被剪裁掉。StretchImageStretchImage:控件中的图像被拉伸或收缩,以适合控控件中的图像被拉伸或收缩,以适合控件的大小,完全占满控件。件的大小,完全占满控件。ZoomZoom:控件中的图片按照比例拉伸或收缩,以适合控控件中的图片按照比例拉伸或收缩,以适合控件的大小,占满控件的长度或高度。件的大小,占满控件的长度或高度。 TimerTimer组件主要用于检查是否到达事先规定的时间间隔,并在组件主要用于检查是否到达事先规定的时间间隔,并在到达该时间间隔触发的事件中执行需要的功能。到达该时间间隔触发的事件中执行需要的功能。1 1、常用的基本属性、常用的基本属性(1 1)E

59、nabledEnabled: 是否启用计时,是否启用计时,falsefalse表示停止计时,表示停止计时,truetrue表示开始计时。表示开始计时。(2 2)IntervalInterval: 触发触发TickTick事件的间隔时间,以事件的间隔时间,以msms为单位,默认为为单位,默认为100ms100ms。2 2、常用的基本事件、常用的基本事件TickTick事件:事件: 每隔每隔IntervalInterval属性指定的时间都会触发。属性指定的时间都会触发。TimerTimer控件控件9.2.10 9.2.10 日期时间相关控件日期时间相关控件 例例9-119-11:设计一个简单的时钟

60、显示窗体。:设计一个简单的时钟显示窗体。说明程序运行初始界面程序运行初始界面单击单击“开始开始”按钮按钮单击单击“停止停止”按钮按钮例例9-119-11:设计一个简单的时钟显示窗体。:设计一个简单的时钟显示窗体。实现步骤(1 1)新建一个名为)新建一个名为TimerExampleTimerExample的的WindowsWindows应用程序项目,将应用程序项目,将Form1.csForm1.cs改名为改名为FormTimer.csFormTimer.cs。(2 2)调整窗体到适当大小;设置)调整窗体到适当大小;设置TextText属性为属性为“时钟显示窗时钟显示窗体体”。(3 3)在)在FormForm窗体中添加一个窗体中添加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论