《C Sharp 3.0从基础到项目实战》课件第16章Windows Forms高级应用.ppt

上传人(卖家):momomo 文档编号:6094177 上传时间:2023-05-27 格式:PPT 页数:33 大小:205KB
下载 相关 举报
《C Sharp 3.0从基础到项目实战》课件第16章Windows Forms高级应用.ppt_第1页
第1页 / 共33页
《C Sharp 3.0从基础到项目实战》课件第16章Windows Forms高级应用.ppt_第2页
第2页 / 共33页
《C Sharp 3.0从基础到项目实战》课件第16章Windows Forms高级应用.ppt_第3页
第3页 / 共33页
《C Sharp 3.0从基础到项目实战》课件第16章Windows Forms高级应用.ppt_第4页
第4页 / 共33页
《C Sharp 3.0从基础到项目实战》课件第16章Windows Forms高级应用.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、16.1 高级控件高级控件16.2 用户定义控件用户定义控件16.3 常用组件常用组件16.4 在窗体中加入菜单在窗体中加入菜单16.5 在窗体中加入工具栏在窗体中加入工具栏16.6 在窗体中加入状态栏在窗体中加入状态栏16.7 在窗体中加入多窗体在窗体中加入多窗体16.8 创建创建MDI窗体窗体16.9 小结小结16.1 高级控件16.1.1 TreeView控件控件TreeView控件又称树视图,可以为用户显控件又称树视图,可以为用户显示节点层次结构。示节点层次结构。TreeView控件的常用属性如下。控件的常用属性如下。Nodes集合:设置包含在树视图中的顶级节点集合:设置包含在树视图中

2、的顶级节点列表。列表。Scrollable属性:设置控件是否会显示滚动条。属性:设置控件是否会显示滚动条。Showlines属性:设置或获取一个值,确定是属性:设置或获取一个值,确定是否显示连接子节点和父节点的线条。否显示连接子节点和父节点的线条。CheckBoxes属性:设置是否在节点旁边显示属性:设置是否在节点旁边显示带有复选框的树视图。带有复选框的树视图。16.1.1 TreeView控件TreeView控件的常用方法为:控件的常用方法为:Add()、Remove()、Clear()。TreeView控件的常用事件是控件的常用事件是AfterSelect事事件,当用户选定树节点后,触发该

3、事件。件,当用户选定树节点后,触发该事件。16.1.2 ListView控件 ListView控件又称列表视图,用于显示带图标的项的列表。控件又称列表视图,用于显示带图标的项的列表。ListView控件的常用属性如下:控件的常用属性如下:View属性属性 Items属性属性 Columns属性属性 Group属性属性 ListView控件的常用方法如下。控件的常用方法如下。BeginUpdate()、EndUpdate()、Clear()ListView控件的常用事件如下。控件的常用事件如下。ItemActivate事件:当激活一个选项时,引发该事件。事件:当激活一个选项时,引发该事件。Aft

4、erLabelEdit事件:当编辑了标签后,引发该事件。事件:当编辑了标签后,引发该事件。ColumnClick事件:当单击一个列时,引发该事件。事件:当单击一个列时,引发该事件。16.1.3 MonthCalendar控件MonthCalendar控件又称为日历表,它为用户查控件又称为日历表,它为用户查看和设置日期信息提供了一个直观的图形界面。看和设置日期信息提供了一个直观的图形界面。MonthCalendar控件的一个重要功能是用户可以控件的一个重要功能是用户可以选择日期的范围。选择日期的范围。MonthCalendar控件的常用属性如下:控件的常用属性如下:MaxSelectionCou

5、nt属性属性MinDate属性属性MaxDate属性属性SelectionRange属性属性ShowToday属性属性ShowWeekNumbers属性属性CalendarDimensions属性属性FirstDayOfWeek属性属性16.2 用户定义控件 16.2.1 用户定义控件概述用户定义控件概述 用户控件:这类控件一般用于把控件的用用户控件:这类控件一般用于把控件的用户界面和功能封装在一起,或者把几个其户界面和功能封装在一起,或者把几个其他控件组合在一起,从而改善控件的界面。他控件组合在一起,从而改善控件的界面。定制控件:当没有控件可以满足要求时,定制控件:当没有控件可以满足要求时,

6、就创建这类控件,即从头开始创建控件。就创建这类控件,即从头开始创建控件。它要自己绘出用户界面,在创建控件的过它要自己绘出用户界面,在创建控件的过程中没有现有的控件可以使用。程中没有现有的控件可以使用。16.2.2 用户定义控件的创建、生成及应用Windows控件开发的一般步骤如下:控件开发的一般步骤如下:创建创建Windows控件项目。控件项目。设计设计Windows控件界面。控件界面。设计设计Windows控件代码,即为控件添加属性、控件代码,即为控件添加属性、方法和事件。方法和事件。生成生成Windows控件。控件。16.3 常用组件16.3.1 BackgroundWorker组件组件B

7、ackgroundWorker组件又称后台工作区,组件又称后台工作区,可以在不同于应用程序的主用户界面线程可以在不同于应用程序的主用户界面线程的另一线程上异步(在后台上)执行耗时的另一线程上异步(在后台上)执行耗时的操作。的操作。BackgroundWorker组件的常用属性如下:组件的常用属性如下:CancellationPendingWorkerReportsProgressWorkerSupportsCancellationIsBusy16.3.1 BackgroundWorker组件BackgroundWorker 组件的常用方法如下:组件的常用方法如下:RunWorkerAsync(

8、)方法方法CancelAsync()方法方法ReportProgress()方法方法BackgroundWorker 组件的常用事件如下:组件的常用事件如下:DoWork事件事件RunWorkerCompleted事件事件ProgressChanged事件事件16.3.2 Timer组件Timer组件又称定时器或计时器,它可以按组件又称定时器或计时器,它可以按一定时间间隔周期性自动触发事件。当程一定时间间隔周期性自动触发事件。当程序运行时,定时器并不是可以见的。序运行时,定时器并不是可以见的。Timer组件的常用方法包括组件的常用方法包括Start和和Stop,这两种方法可用于打开和关闭计时器

9、。计这两种方法可用于打开和关闭计时器。计时器在关闭时重置,不存在暂停时器在关闭时重置,不存在暂停Timer组件组件的方法。的方法。16.3.3 ErrorProvider组件ErrorProvider 组件,通常用于对窗体或控件上组件,通常用于对窗体或控件上的用户输入进行验证。的用户输入进行验证。ErrorProvider组件的常用属性如下:组件的常用属性如下:Icon属性:设置为自定义错误图标而不是默认图标,属性:设置为自定义错误图标而不是默认图标,默认图标为。默认图标为。DataSource属性:设置为数据集显示错误信息。属性:设置为数据集显示错误信息。ErrorProvider 组件的主

10、要方法是组件的主要方法是SetError()方法。方法。该方法可以指定错误信息字符串和错误图标应出该方法可以指定错误信息字符串和错误图标应出现的位置。现的位置。示例:示例:errorProvider1.SetError(textBox1,长度超过了长度超过了);16.4 在窗体中加入菜单 16.4.1 创建基本菜单 位于窗体标题栏下的菜单称为主菜单,它位于窗体标题栏下的菜单称为主菜单,它由由MenuStrip控件生成。该控件使用控件生成。该控件使用Items包含各个菜单项。菜单项或子菜单包含各个菜单项。菜单项或子菜单项均由项均由ToolStripMenuItem控件生成。双控件生成。双击各菜单

11、项,生成单击事件,填写事件代击各菜单项,生成单击事件,填写事件代码即可。码即可。16.4.1 创建基本菜单步骤:步骤:把把MenuStrip控件从工具箱中拖动到窗体上,控件从工具箱中拖动到窗体上,就会出现菜单编辑器就会出现菜单编辑器。在菜单编辑器内,单击在菜单编辑器内,单击【请在此处输入请在此处输入】文本文本框,并输入在菜单中显示的文本,按框,并输入在菜单中显示的文本,按【Enter】键后,菜单编辑器就建立了一个主菜单项。键后,菜单编辑器就建立了一个主菜单项。在菜单文本中输入在菜单文本中输入“&”符号,为菜单项添加符号,为菜单项添加快捷键快捷键。如果要为菜单项添加快捷键,可以设置菜单项如果要为

12、菜单项添加快捷键,可以设置菜单项的的ShortcutKeys属性属性,步骤如下:,步骤如下:选择某子菜单项。选择某子菜单项。在在【属性属性】窗口中,选择窗口中,选择“ShortcutKeys”属性。属性。单击其右侧的下拉箭头,在弹出的列表中勾选单击其右侧的下拉箭头,在弹出的列表中勾选“Ctrl”复选框,在复选框,在【键键】下拉列表框中选择下拉列表框中选择“C”。添加分割线:利用分割线可以给主菜单下的子菜单进添加分割线:利用分割线可以给主菜单下的子菜单进行分组。可以通过输入行分组。可以通过输入“-”作为菜单文本来为菜单作为菜单文本来为菜单项之间加上分割线。项之间加上分割线。编辑菜单项:如果要在某

13、一个菜单项前面插入另一个编辑菜单项:如果要在某一个菜单项前面插入另一个菜单项,可以右击菜单项,在右键快捷键菜单中单击菜单项,可以右击菜单项,在右键快捷键菜单中单击【插入插入】|【MenuItem】命令。命令。16.4.2 添加快捷键 通常会使用右键快捷菜单来执行某个快捷操作,在通常会使用右键快捷菜单来执行某个快捷操作,在C#中中使用使用ContextMenuStrip控件创建右键菜单。控件创建右键菜单。示例步骤:示例步骤:添加添加ContextMenuStrip控件,另外添加一个控件,另外添加一个Group控件到窗体上。控件到窗体上。为控件绑定右键菜单:先选中为控件绑定右键菜单:先选中Grou

14、p控件,然后单击该控件的控件,然后单击该控件的ContextMenuStrip属性,系统会自动查找拖动到当前页面的所有属性,系统会自动查找拖动到当前页面的所有ContextMenuStrip控件并将这些控件罗列在该属性的下拉菜单中,控件并将这些控件罗列在该属性的下拉菜单中,选择相应的选择相应的ContextMenuStrip控件,控件,定义右键菜单:在为控件分配完菜单之后,就可以定义单个的菜定义右键菜单:在为控件分配完菜单之后,就可以定义单个的菜单。可以选中单。可以选中ContextMenuStrip控件,系统会自动在编辑页面的控件,系统会自动在编辑页面的上面显示一个可编辑的动态菜单,可以在为

15、该菜单添加菜单项,上面显示一个可编辑的动态菜单,可以在为该菜单添加菜单项,在这里添加了在这里添加了“打开打开”和和“退出退出”这两个菜单项。这两个菜单项。为右键菜单添加代码:双击菜单即可进入相应的代码编辑区。为右键菜单添加代码:双击菜单即可进入相应的代码编辑区。16.4.3 创建右键菜单工具栏用于为用户提供一种快捷操作,不工具栏用于为用户提供一种快捷操作,不需要用户在多级菜单中去搜索需要的子菜需要用户在多级菜单中去搜索需要的子菜单,只需要单击相对应的工具栏命名即可。单,只需要单击相对应的工具栏命名即可。工具栏通常包含一些按钮、组合框、编辑工具栏通常包含一些按钮、组合框、编辑框等组件。按钮用于执

16、行命令或切换状态,框等组件。按钮用于执行命令或切换状态,组合框、编辑框用于选择、输入。工具栏组合框、编辑框用于选择、输入。工具栏上的按钮与相应的菜单功能相同。上的按钮与相应的菜单功能相同。16.5 在窗体中加入工具栏16.5.1 ToolStrip控件和ToolStripButton控件位于窗体菜单栏下的工具按钮称为工具栏,它由位于窗体菜单栏下的工具按钮称为工具栏,它由ToolStrip控件生成。工具栏上的各个工具按钮由控件生成。工具栏上的各个工具按钮由ToolStripButton对象来表示,双击各按钮项,生对象来表示,双击各按钮项,生成单击事件,填写事件代码即可。成单击事件,填写事件代码即

17、可。ToolStrip控件的常用属性如下。控件的常用属性如下。Items属性:工具栏按钮属性:工具栏按钮ToolStripButton的集合。的集合。ShowItemToolTips属性:指示是否要在属性:指示是否要在ToolStrip项项上显示工具提示。上显示工具提示。ToolStrip控件的常用事件为控件的常用事件为ItemClick事件,在事件,在单击工具按钮时发生。单击工具按钮时发生。16.5.1 ToolStrip控件和ToolStripButton控件 ToolStripButton控件的常用属性如下。控件的常用属性如下。Checked属性:指示是否已按下该工具按钮。属性:指示是否

18、已按下该工具按钮。CheckOnClick属性:指示在单击工具按钮时,该工具按钮是否属性:指示在单击工具按钮时,该工具按钮是否自动显示为按下或未按下状态。自动显示为按下或未按下状态。CheckState属性:指示工具按钮处于选中、未选中还是不确定状属性:指示工具按钮处于选中、未选中还是不确定状态,取值于态,取值于CheckState枚举。枚举。DisplayStyle属性:是否在工具按钮上显示文本和图像,取值于属性:是否在工具按钮上显示文本和图像,取值于ToolStripItemDisplayStyle枚举。枚举。Image属性:设置显示在工具按钮上的图像。属性:设置显示在工具按钮上的图像。S

19、elected属性:指示该项是否处于选定状态。属性:指示该项是否处于选定状态。Text属性:设置要显示在工具按钮上的文本。属性:设置要显示在工具按钮上的文本。ToolStripButton控件的常用事件如下。控件的常用事件如下。Clicked事件:单击工具栏按钮时触发该事件。事件:单击工具栏按钮时触发该事件。CheckedChanged事件:事件:Checked属性发生变化时触发该事件。属性发生变化时触发该事件。16.5.2 创建工具栏步骤:步骤:在窗体上放置在窗体上放置1个个ToolStrip控件,在其控件,在其【属性属性】窗口中窗口中选择选择Items属性,单击右侧的省略号按钮,打开项集合

20、属性,单击右侧的省略号按钮,打开项集合编辑器,在编辑器,在【选择项并添加到以下列表选择项并添加到以下列表】下拉列表框下拉列表框中选择要添加的项,单击中选择要添加的项,单击【添加添加】按钮,即可向按钮,即可向【成成员员】列表框中添加相应的项。列表框中添加相应的项。单击单击ToolStripButton控件的控件的Image属性右侧的省略号属性右侧的省略号按钮,弹出按钮,弹出【选择资源选择资源】窗口,单击窗口,单击【导入导入】按钮,按钮,由本地资源添加图像。由本地资源添加图像。为为toolStrip1控件添加控件添加ItemClicked事件,以便通过该事件,以便通过该事件来确定用户单击的是哪一个

21、工具按钮。同时,为事件来确定用户单击的是哪一个工具按钮。同时,为ToolStripButton控件添加控件添加Click事件来确定用户单击事件来确定用户单击工具按钮。工具按钮。16.6 在窗体中加入状态栏状态栏位于窗体的底部,通常用于显示应状态栏位于窗体的底部,通常用于显示应用程序的各种状态信息。用程序的各种状态信息。状态栏由状态栏由StatusStrip控件生成,状态项由控件生成,状态项由ToolStripStatusLabel控件生成。控件生成。16.6.1 StatusStrip控件和ToolStripStatusLabel控件 StatusStrip控件的常用属性如下。控件的常用属性如

22、下。Items属性:用于获取各个状态项。属性:用于获取各个状态项。ShowItemToolTips属性:指示是否为状态属性:指示是否为状态栏显示工具提示。栏显示工具提示。StatusStrip控件的常用事件为控件的常用事件为ItemClicked事件,单击事件,单击StatusStrip控件控件时触发该事件。时触发该事件。16.6.1 StatusStrip控件和ToolStripStatusLabel控件ToolStripStatusLabel控件用于在控件用于在StatusStrip中中提供一个显示区域,用于显示文本或图像。提供一个显示区域,用于显示文本或图像。ToolStripStatu

23、sLabel控件的常用属性如下。控件的常用属性如下。Alignment属性:设置属性:设置ToolStripStatusLabel控件在控件在StatusStrip上的对齐位置。上的对齐位置。BorderStyle属性:设置属性:设置ToolStripStatusLabel控件的控件的边框样式。边框样式。Image属性:设置要显示在面板上的图像。属性:设置要显示在面板上的图像。Text属性:要显示在面板上的文本。属性:要显示在面板上的文本。ToolStripStatusLabel控件的常用事件为控件的常用事件为Click事事件,单击状态栏面板时触发该事件。件,单击状态栏面板时触发该事件。16.

24、6.2 创建状态栏示例步骤:示例步骤:(以实现第以实现第1状态项显示系统当前的时状态项显示系统当前的时间,第间,第2状态项显示光标在窗体上移动时的坐标状态项显示光标在窗体上移动时的坐标为例为例)。在窗体上放置在窗体上放置1个个StatusStrip控件,为窗体添加一个控件,为窗体添加一个状态栏。在状态栏。在【属性属性】窗口中选中窗口中选中Items属性,单击其右属性,单击其右侧的省略号按钮,打开项集合编辑器,为状态栏添加侧的省略号按钮,打开项集合编辑器,为状态栏添加面板面板toolStripStatus。Label1和和toolStripStatusLabel2。设置。设置StatusStri

25、p控控件的件的ShowItemToolTips属性为属性为“true”,设置两个,设置两个ToolStripStatusLabel控件的控件的ToolTipText属性分别为属性分别为“显示时间显示时间”和和“显示坐标显示坐标”,这样可以为状态栏添,这样可以为状态栏添加工具提示。加工具提示。16.7 在窗体中加入多窗体16.7.1 多窗体概述多窗体应用程序一般包含一个主窗体和多多窗体应用程序一般包含一个主窗体和多个其他窗体,其他窗体用于辅助主窗体完个其他窗体,其他窗体用于辅助主窗体完成各种任务。例如,为主窗体输入数据,成各种任务。例如,为主窗体输入数据,把主窗体的信息输出给用户等。主窗体的把主

26、窗体的信息输出给用户等。主窗体的设计与单窗体应用程序的窗体设计相同。设计与单窗体应用程序的窗体设计相同。添加窗体:在多窗体应用程序中,需要建添加窗体:在多窗体应用程序中,需要建立多个窗体。立多个窗体。16.7.1 多窗体概述 设置启动窗体设置启动窗体:启动窗体即应用程序运行:启动窗体即应用程序运行时显示的窗体。时显示的窗体。示例:示例:static void Main()Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1()

27、;16.7.1 多窗体概述对于窗体的生成与关闭,操作分别如下。对于窗体的生成与关闭,操作分别如下。建立窗体实例:在建立窗体实例:在C#中,窗体实际就是一个类。若要中,窗体实际就是一个类。若要操作某一个窗体,必须先实例化一个窗体类,代码如操作某一个窗体,必须先实例化一个窗体类,代码如下。下。Form1 f=new Form1();显示窗体:使用显示窗体:使用Form类的类的Show()方法或方法或ShowDialog()方法可以显示窗体,代码如下。方法可以显示窗体,代码如下。f.Show();隐藏窗体:使用隐藏窗体:使用Form类的类的Hide()方法可以隐藏窗体,方法可以隐藏窗体,代码如下。代

28、码如下。f.Hide();关闭窗体:使用关闭窗体:使用Form类的类的Close()方法可以关闭窗体,方法可以关闭窗体,代码如下。代码如下。f.Close();16.7.2 窗体间的关联从主窗体中启动其他窗体,可以在主窗体中生从主窗体中启动其他窗体,可以在主窗体中生成其他窗体的实例,或引用其他窗体,然后通成其他窗体的实例,或引用其他窗体,然后通过该实例的过该实例的Show()方法显示窗体。方法显示窗体。示例:示例:Form2 f=new Form2();mainForm.Hide();/mianForm为主窗体的名称为主窗体的名称f.Show();从其他窗体访问主窗体从其他窗体访问主窗体可以在

29、其他窗体类中声明一个引用主窗体实例的公有可以在其他窗体类中声明一个引用主窗体实例的公有变量。在主窗体启动其他窗体时,把主窗体实例传给变量。在主窗体启动其他窗体时,把主窗体实例传给该变量即可。这样,在其他窗体中,就可以利用该变该变量即可。这样,在其他窗体中,就可以利用该变量访问主窗体了。量访问主窗体了。16.7.2 窗体间的关联 从其他窗体访问主窗体从其他窗体访问主窗体,示例:,示例:例如,主窗体中包含例如,主窗体中包含1个个TextBox控件和控件和Button控件,窗体控件,窗体2包含包含1个个TextBox控件。当单击主窗体的控件。当单击主窗体的Button控件时,将弹出窗体控件时,将弹出

30、窗体2,且该窗体,且该窗体TextBox控件的值为主窗体控件的值为主窗体TextBox控件的值。控件的值。主窗体代码如下。主窗体代码如下。private void button1_Click(object sender,EventArgs e)Form2 f=new Form2();f.form1=this;f.Show();其他窗体代码如下。其他窗体代码如下。public partial class Form2:Form public Form1 form1;public Form2()InitializeComponent();private void Form2_Load(object

31、sender,EventArgs e)textBox1.Text=form1.ControlstextBox1.Text;16.7.2 窗体间的关联从主窗体中访问其他窗体从主窗体中访问其他窗体若要在主窗体中访问其他窗体,需要在主窗体若要在主窗体中访问其他窗体,需要在主窗体中为其他窗体生成公有属性或公有变量。当其中为其他窗体生成公有属性或公有变量。当其他窗体关闭时,就可以把这些变量或属性的值他窗体关闭时,就可以把这些变量或属性的值返回给主窗体。返回给主窗体。16.7.3 创建多窗体见书例见书例16-11。16.8 创建MDI窗体MDI应用程序允许用户同时显示多个文档,应用程序允许用户同时显示多个

32、文档,每个文档显示在它自己的窗体中。每个文档显示在它自己的窗体中。MDI窗体窗体包括一个父窗体和若干个子窗体。包括一个父窗体和若干个子窗体。MDI父窗父窗体是包含体是包含MDI子窗体的容器,子窗体的容器,MDI子窗体是子窗体是用户与用户与MDI应用程序交互的窗体。要创建一应用程序交互的窗体。要创建一个个MDI窗体,必须先创建几个窗体,然后将窗体,必须先创建几个窗体,然后将其中一个窗体设置为主窗体,其余窗体均其中一个窗体设置为主窗体,其余窗体均为子窗体。为子窗体。16.8 创建MDI窗体创建主窗体的步骤如下:创建主窗体的步骤如下:新建一个新建一个Windows Forms项目。项目。设置设置MD

33、I主窗体的属性。主窗体的属性。打开打开【属性属性】窗口,要将该窗体设为主窗体,只需窗口,要将该窗体设为主窗体,只需将该窗体的将该窗体的IsMdiContainer属性设置为属性设置为True。最后由用户自行设计主窗体。最后由用户自行设计主窗体。16.9 小结Windows Form项目大多是由窗体和控件项目大多是由窗体和控件所组成的。因此,使用窗体和控件进行所组成的。因此,使用窗体和控件进行Windows Form项目开发是每个开发人员项目开发是每个开发人员必须掌握的内容。本章介绍了必须掌握的内容。本章介绍了Windows高高级控件、菜单、工具栏、状态栏、多窗体级控件、菜单、工具栏、状态栏、多窗体以及以及MDI窗体的使用方法。窗体的使用方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 各类题库
版权提示 | 免责声明

1,本文(《C Sharp 3.0从基础到项目实战》课件第16章Windows Forms高级应用.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|