版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章菜单、工具栏、状态栏主文档及单文档界面回顾何为DataGridView?DataGridView的什么属性用于绑定数据源?DataGridView用于绑定的数据源有几种类型?DataGridView绑定方法?DataGridView的Update() 方法作用?目标了解 MDI 应用程序和 SDI 应用程序了解菜单和掌握菜单控件的使用掌握 ToolBar 控件和 StatusBar 控件演示应用程序示例单文档和多文档 2-1这是 Ann 的一个测试如已有一个文本文件打开,在同一记事本应用程序中,不允许创建第二个文本文件新建一个记事本实例来打开第二个文本文件在SDI应用程序中一次只能打开一
2、个文件单文档和多文档 2-2在 MDI 应用程序中可以同时打开多个文件 应用程序窗口文档窗口主窗体和子窗体 3-1父窗体子窗体子窗体的菜单并入父窗体中主窗体和子窗体 3-2主窗体的特点: 启动一个 MDI 应用程序时,首先显示父窗体 它是应用程序中所有其他窗口的容器 每个应用程序界面都只能有一个 MDI 父窗体 在任何指定的时间都可以打开多个子窗体 任何 MDI 子窗体都不能移出 MDI 框架区域 关闭 MDI 父窗体则自动关闭所有打开的 MDI 子窗体主窗体和子窗体 3-3属性说明MdiChildren 用于获取表示多文档界面 (MDI) 子窗体的窗体数组MdiParent 用于获取或设置当
3、前多文档界面 (MDI) 父窗体 ActiveMdiChild 用于获取当前活动的多文档界面 (MDI) 子窗体 方法说明ActivateMdiChild用于激活子窗体LayoutMdi排列 MDI 父窗体中的多文档界面 (MDI) 子窗体事件说明Closed由用户或窗体的 Close 方法关闭窗体后,发生该事件Closing正在关闭窗体时,发生该事件MdiChildActivate在 MDI 应用程序中激活或关闭多文档界面 (MDI) 子窗体时,触发该事件MDI 应用程序的属性、方法和事件如果窗体为 MDI 父窗体,则在触发 MDI 父窗体的 Closing 事件之前,将触发所有 MDI 子
4、窗体的 Closing 事件。另外,在触发 MDI 父窗体的 Closed 事件之前,将触发所有 MDI 子窗体的 Closed 事件创建 MDI 窗体 TestForm objChild = new TestForm();objChild.MdiParent = this;objChild.Show(); 创建 MDI 窗体步骤:将 IsMdiContainer 属性设置为 True选择“项目”“添加 Windows 窗体”添加给定的代码,将 TestForm 设置为子窗体MDI 父窗体Closing 事件的调用顺序:MDI 子窗体激活和去激活窗口显示活动窗口this.ActivateMdi
5、Child(frmChild);激活窗口MessageBox.Show(Convert.ToString(this.ActiveMdiChild);显示活动窗口的名称活动窗口排列子窗口MDILayout 枚举的成员成员名称说明ArrangeIcons在 MDI 父窗体的客户端区内排列所有 MDI 子窗体的图标Cascade在 MDI 父窗体的客户端区内层叠所有 MDI 子窗口TileHorizontal 在 MDI 父窗体的客户端区内水平平铺所有 MDI 子窗口TileVertical在 MDI 父窗体的客户端区内垂直平铺所有 MDI 子窗口菜单和菜单组件菜单提供了将命令分组的一致方法用户易于
6、访问支持使用访问键启用键盘快捷方式一个菜单可以带有若干子菜单菜单是程序中显示一个选项列表的图形元素在设计阶段将 MenuStrip 组件添加到窗体上菜单类型上下文菜单MenuStrip 控件包含多个 MenuItem 控件MenuStrip 类位于 System.Windows.Forms 命名空间菜单类型 属性方法方法说明GetMainMenu 检索包含指定菜单的主菜单的名称,如果此菜单不在 菜单内,则该属性返回 null 引用 MergeMenu 将指定菜单的菜单项合并到当前活动的菜单中属性说明MdiListItem 表示菜单项,它列出 MDI 窗体的子窗体Items 检索属于指定菜单的菜
7、单项集合方法说明GetContextMenu检索包含指定菜单的上下文菜单的名称,默认值为 null 引用 GetForm 检索包含指定菜单控件的窗体的名称菜单类型MenuStrip MainMenu = new MenuStrip(); ToolStripMenuItem item1 = new ToolStripMenuItem(); item1.Text = 子窗口1; MainMenu.Items.Add(item1);创建一个菜单和菜单项,并将菜单项添加到主菜单上属性说明Checked是否在指定菜单项的文本旁边显示复选标记,如果此属性设置为 True,则会在指定的菜单项旁边显示复选标记
8、,默认值为 False MergeAction获取或设置如何将子菜单与父菜单合并MergeIndex获取或设置合并的项在当前 ToolStrip 内的位置Text菜单项显示的文本信息ToolStripMenuItem 的属性、方法和事件方法说明PerformClick触发菜单项的 Click 事件,而不需要用户实际上单击此菜单项 事件说明Click按下为菜单项指定的快捷键或访问键,或者用鼠标单击菜单项时,将触发该事件 菜单类型 3-3上下文菜单快捷菜单:单击鼠标右键时显示的快捷菜单;菜单会因用户右键单击位置的不同而不同ContextMenuStrip 的属性、方法和事件属性说明SourceCo
9、ntrol用于获取正在显示快捷菜单的控件方法说明Show在指定位置显示快捷菜单EventsDescriptionPopup在显示可快捷菜单前触发该事件在运行时创建上下文菜单:ContextMenuStrip mnuContextMenu1 = new ContextMenuStrip(); this.ContextMenuStrip = mnuContextMenu1;在运行时添加/移除菜单项 2-1 MainMenu mnuMainMenu1 = new MainMenu();MenuItem mnuAddItem = new MenuItem();MenuItem mnuRemoveIte
10、m = new MenuItem();mnuAddItem.Text = “添加(&A);mnuRemoveItem.Text = “移除(&R);mnuMainMenu1.MenuItems.Add(mnuAddItem);mnuMainMenu1.MenuItems.Add(mnuRemoveItem);this.Menu = mnuMainMenu1;DialogResult preference = new DialogResult();preference = MessageBox.Show(“是否要添加新菜单项?”,“添加, MessageBoxButtons.YesNo);添加键
11、盘快捷方式助记符 添加菜单项添加菜单项在运行时添加/移除菜单项 2-2if(Convert.ToString(preference) = “是)mnuMainMenu1.MenuItems.Add(“新菜单);DialogResult preference1 = new DialogResult();preference1 = MessageBox.Show(“是否要移除新菜单项?”, “移除,MessageBoxButtons.YesNo);if(Convert.ToString(preference1) = “是) mnuMainMenu1.MenuItems.RemoveAt(2);添加
12、菜单项移除第三个位置上的菜单项两个类ToolStripToolStripButtonToolStrip 控件属性说明ImageIndex 为工具栏按钮指定的图像在图像列表中的索引值 Style 工具栏按钮的样式,其中包括 DropDownButton(下拉按钮)、Separator(分隔符) 和 ToggleButton(切换按钮) ToolTipText表示工具栏按钮的工具提示文本ToolStripButton 类的属性和事件属性说明Items 工具栏按钮控件的集合 ShowToolTips鼠标移到各工具栏按钮上时,是否显示相应的工具提示,如果该属性的值设置为 True,则显示工具提示 事件
13、说明ButtonClick 单击工具栏按钮时,将触发该事件ToolStrip 类的属性和事件工具栏 示例创建名为 Example 1 的 Windows 应用程序。将 Form1.cs 更改为 frmToolBarExample.cs。将 ToolBar 控件拖动到窗体上,并将它命名为 tbrToolBar。选择 Buttons 属性,并单击按钮以显示“ToolBarButton 集合编辑器”窗口。添加三个按钮。添加了三个按钮输出屏幕private void tbrToolBar_ButtonClick(object sender, System.Windows.Forms.ToolBarBu
14、ttonClickEventArgs e)if(e.Button = this.tbrToolBar.Buttons0)MessageBox.Show(“已单击 “打开”按钮);处理 ButtonClick 事件的代码 StatusBar 控件两个类StatusBarPanelStatusBarToolStatusStrip 类的属性属性说明Items表示 StatusBar 控件的所有面板 ShowItemsToolTips用于指定是否显示项的ToolTip属性说明Text用于获取或设置状态栏面板的文本ToolTipText用于获取或设置与状态栏面板关联的工具提示文本StatusStrip
15、类的属性在状态栏 的第二个面板上显示当前日期的代码toolStripStatusLabel1.Text = DateTime.Now.ToShortDateString();.创建名为 BookManagement的 Windows 应用程序。将名称 Form1.cs 更改为 frmMdiApplication.cs。将 Menu、StatusBar 、ToolBar和 ImageList 控件拖动到窗体上。 应用程序示例 4-1由菜单、工具栏和状态栏组成的应用程序演示:创建 Windows 应用程序示例的步骤控件属性FormName: frmMdiApplicationText: 图书管理系
16、统Menu: mnuBookManageIsMdiContainer: True MenuName: mnuBookManageMenuItemName: mnuEnterStoreText: 新书入库(&N) MenuItemName: mnuSearchBookText: 查询书目(&S) MenuItemName: mnuConManageText: 菜单管理(&M) MenuItemMenuItemName: mnuExitText: 退出系统(&E)MenuItemName:mnuEnginerrBookText:工程类图书MenuItemName:mnuForeignBookTex
17、t:外文类图书MenuItemName:mnuChineseBookText:中文类图书ToolBarName: tbrBookBarStatusBarName: sbrBookStatus设置窗体上控件的属性应用程序示例 4-2演示:创建 Windows 应用程序示例的步骤选择 ToolBar 控件,单击 ToolBar 控件的 Buttons 属性,此时会出现“ToolBarButton 集合编辑器”窗口,向其中添加3个按钮,并分别命名为 trbNewBooks 、trbBookSearch和trbExit。分别在Text属性处输入入库、查询和退出 单击“确定”以继续应用程序示例 4-3选
18、择 StatusBar 控件,并将 ShowPanels 属性设置为 True选择 Panels 属性,并添加两个面板,命名为 sbrTimeBar 和sbrNameBar 单击“确定”以继续创建新窗体,命名为frmNewBooks.cs,当鼠标单击“工程类图书”菜单选项时弹出此窗体将以下代码添加到 frmMdiForm 的 Load 事件中private void frmMdiForm_Load(object sender, System.EventArgs e)this.sbrBookStatus.Panels0.Text = DateTime.Now.ToShortDateString(
19、);在 mnuEnginerrBook菜单项的 Click 事件中添加代码 private void mnuEnginerrBook_Click(object sender, System.EventArgs e)frmNewBooks newBooks=new frmNewBooks();newBooks.MdiParent=this;newBooks.WindowState=FormWindowState.Maximized;newBooks.Show();this.sbrBookStatus.Panels1.Text=this.ActiveMdiChild. Text.ToString(
20、); 将以下代码添加到 mnuConManage “菜单管理”的 Click 事件中private void mnuConManage_Click(object sender, System.EventArgs e)ContextMenu mnuContextMenu = new ContextMenu();this.ContextMenu = mnuContextMenu;mnuContextMenu.MenuItems.Add(新书入库);mnuContextMenu.MenuItems.Add(查询书目);mnuContextMenu.MenuItems.Add(退出系统);应用程序示例 4-4将以下代码添加到 mn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年深圳市龙岗区事业编单位人员招聘考试备考题库及答案详解
- 2026年变电检修运维全年统筹内勤供电局招聘考试题【含答案】
- 2026年浙江省湖州市社区工作者招聘笔试备考试题及答案详解
- 2026年桂林市象山区社区工作者招聘笔试备考试题及答案详解
- 2026年山东省烟台市事业编单位人员招聘笔试参考试题及答案详解
- 2026年湖北省孝感市网格员招聘笔试参考试题及答案详解
- 2026年芜湖市马塘区事业编单位人员招聘笔试模拟试题及答案详解
- 2026年佳木斯市前进区事业编单位人员招聘考试备考试题及答案详解
- 2026年河北省廊坊市网格员招聘考试备考题库及答案详解
- 2026年景德镇市昌江区事业编单位人员招聘考试模拟试题及答案详解
- 2026年七部洗手法试题和答案
- 2021母婴同室早发感染高危新生儿临床管理专家共识解读课件
- 2026年辽宁省中考道德与法治试卷(含详细答案解析)
- 高中语文阅读暑假预科精讲|新年级新课提前学
- 10KV高压配电设备预防性试验安全措施培训
- GB/T 47559-2026风能发电系统风力发电机组塔架结构安全监测方法
- 热力管道雨季施工方案
- 2026中国工商银行河南省分行纪检人才专项社会招聘考试备考题库及答案解析
- 机关支部2026年上半年意识形态工作总结
- 西陵区网格员考试真题试卷
- 露天矿山无人驾驶车辆运行安全技术规范
评论
0/150
提交评论