第6章菜单工具栏与状态栏
C#菜单栏、工具栏、状态栏

1鄢涛2011/5/18《.NET Windows programming 》yantao@ Visual studio 2010yantao@ 鄢涛2011/5/18《.NET Windows programming 》yantao@ Visual studio 20102Tower 2011/5/ Windows programmingyantao@ 概述状态栏(StatusStrip)3鄢涛2011/5/18《.NET Windows programming 》yantao@ Visual studio 2010!概述鄢涛2011/5/18《.NET Windows programming 》yantao@ Visual studio 20105Tower 2011/5/ Windows programmingyantao@ ü概述MenuStrip工具栏(ToolStrip)MDI 窗体和MenuStrip 合并6鄢涛2011/5/18《.NET Windows programming 》yantao@ Visual studio 20107鄢涛2011/5/18《.NET Windows programming 》yantao@ Visual studio 20109鄢涛2011/5/18《.NET Windows programming 》yantao@ Visual studio 2010: ToolStripMenuItem 菜单项该类是一个ToolStripDropDownItem ,与ToolStripDropDownMenu 和ContextMenuStrip 一起工作,以便为菜单处理特殊的突出显示、布局和列排列方式。
ToolStripMenuItem 类提供使您得以配置菜单项的外观和功能的属性。
10鄢涛2011/5/18《.NET Windows programming 》yantao@ Visual studio 2010: ToolStripMenuItem 菜单项11鄢涛2011/5/18《.NET Windows programming 》yantao@ Visual studio 2010鄢涛2011/5/18《.NET Windows programming 》yantao@Visual studio 201013Tower 2011/5/ Windows programmingyantao@ ü概述ContexMenuStrip状态栏(StatusStrip)快捷菜单15鄢涛2011/5/18《.NET Windows programming 》yantao@ Visual studio 2010: ContextMenuStrip 快捷菜单例如,可以使用分配给TextBox 控件的快捷菜单提供菜单项,以便更改文本字体,在控件中查找文本或实现复制和粘贴文本的剪贴版功能。
第六章 Windows操作系统

第六章 Windows操作系统
(3) 右键操作。右键也称菜单键。单击可打开该对象所对应的快捷菜单。 (4) 滚轮。可用于在支持窗口滑块滚动的应用程序中实现滚动查看窗口中内容的功能。滚轮并非鼠标 的标准配置部件。 3.鼠标的设置 根据个人习惯不同,用户可打开“控制面板”→“鼠标”,在“鼠标 属性”对话框中根据需要设置 鼠标。 6.2.3 键盘 键盘是最早使用的输入设备之一,现在也仍然是输入文本和数字的标准输入设备。键盘样式多种多 样,但基本操作键的布局和功能基本相同。 6.2.4 桌面 桌面是系统的屏幕工作区,也是系统与用户交互的平台。桌面一般包括桌面图标、桌面背景、开始 按钮与任务栏。
第六章 Windows操作系统
外存除了硬盘之外,还有软盘、光盘、U盘等,这些连入计算机也有对应的盘符。通常,软盘驱动器 的盘符为A或者B,其它驱动器的盘符紧跟硬盘分区的盘符。
硬盘在出厂时已经进行了低级格式化,即在空白硬盘上划分柱面与磁道,再将磁道划分为若干扇区。 这里所说的硬盘格式化是高级格式化,即清除硬盘数据,初始化分区并创建文件系统。硬盘上不同的分 区相互独立,经过格式化后可以各自支持独立的与其它分区不同的文件系统。
第六章 Windows操作系统
6.2.5 窗口 窗口是Windows最基本的用户界面。通 常,启动一个应用程序就会打开它的窗口, 而关闭应用程序的窗口也就关闭了应用程序。 Windows 7中每个窗口负责显示和处理一类 信息。用户可随意在不同窗口间切换,但只 会有一个当前工作窗口。 1.窗口的基本组成 如图6-3所示,窗口由控制按钮、地址栏、 搜索栏、菜单栏、工具栏、资源管理器、滚 动条、工作区、状态栏、边框等组成。
第六章 Windows操作系统
(1) 控制按钮。窗口左上角的控制按钮可以打开控制菜单,右上角的控制按钮可以最小化、最大化/ 还原和关闭窗口。
Windows 基本控件的使用

WindowState:获取或设置窗体的窗口状态。
Maximized 最大化的窗口。 Minimized 最小化的窗口。 Normal 默认大小的窗口。
12
6.1.3窗体的常用事件和方法
1、窗体事件:响应窗体行为的动作。
1)Load
Load事件是在窗体被装入工作区时自动触发的事件
{ //实例化textBox
MytextBox = new TextBox(); //设置控件属性
this.MytextBox.Location = new System.Drawing.Point(109, 101);
= "textBox1"; this.MytextBox.Text = "我的文本框";
通常给属性变量和一般变量符初值。 2)Click Click事件是程序运行后用鼠标单击对象时触发的事件。 3)Closeing、Closed 关闭窗体时和关闭窗体后的事件。
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (DialogResult.No == MessageBox.Show("是否关闭", "确认", MessageBoxButtons.YesNo)) e.Cancel = true; }
目】命令,在【新建项目】对话框的左栏 中选择【Visual C#】项目,在右栏【模板】 中选择【Windows应用程序】选项,在 【名称】文本框中输入“FirstWinApp”。 2)单击【确定】按钮,将生成新建的项目。
21
22
23
第7章 菜单、工具栏和状态栏

菜单项的事件: 菜单项的事件:Click
7
本章目录
一些常用的快捷键及其含义:
<Ctrl+N> ——创建新文件。 <Ctrl+O> ——打开一个已有的文件。 <Ctrl+S> ——保存当前文件。 <Ctrl+Z> ——取消。 <Ctrl+X> ——剪切。 <Ctrl+C> ——复制。 <Ctrl+V> ——粘贴。 <Alt+F4> ——关闭窗口。
16
案例分析: 案例分析:状态栏的使用
为记事本创建一个状态栏,包含两个ToolStripStatusLabel 为记事本创建一个状态栏,包含两个ToolStripStatusLabel 要求启动窗体时显示系统日期
stslblTime.Text ="当前日期:"+ DateTime.Now.ToShortDateString(); 当前日期: 当前日期
13
2.工具栏各项属性和事件
(1)工具栏各按钮 如ToolStripButton1)属性 工具栏各按钮(如 工具栏各按钮 属性 Image:指定按钮上的图片 指定按钮上的图片 Text:显示在工具按钮上的文本 显示在工具按钮上的文本 DisplayStyle:获取或设置工具按钮是否显示文本和图像 获取或设置工具按钮是否显示文本和图像 Checked:确定是否按下工具按钮。 确定是否按下工具按钮。 确定是否按下工具按钮 CheckOnClick:指定工具按钮是否自动显示按下或未按下 指定工具按钮是否自动显示按下或未按下 状态。 状态。 ToolTipText:指定工具提示的文本 指定工具提示的文本 (2)事件: )事件: Click事件 事件 CheckChanged事件:Check属性发生变化时发生 事件: 事件 属性发生变化时发生
第六章 工具栏

Company Logo
添加新的工具栏
在本节内容中,首先介绍有关工具栏创建和控制 (包括风格控制和信息控制等等)的 CToolBar 类的主要成员函数,然后使用向导创建一个单文 档文件( SDI 应用程序 MyTimer , 并可通过工具 栏按钮控制是否显示时间。
Company Logo
创建 ReBar
ReBar 是用来放置其他控件的容器。可以通过向 ReBar 中加入其他工具栏,使得窗口中所有工具栏排列整齐,否 则在程序运行后每个工具栏各显示在不同行中,主窗口显 得零乱。 按照下面这些步骤把 ReBar 支持添加到任何 MFC 应 用程序中: 在 MainFrm . h 中,把 CReBar 类型的一个变量添加到受 保护的变量列表中,这部分代码还包含用于工具栏 m_WndToolBar 和状态栏m_WndStatusBar 的变量。 在 CMainFrame : : oncreate ( )中,创建和初始化工具栏 后,必须把 ReBar 附加到它的父窗口。这可以通过调用 CReBar : : Create ( )并传入指向父窗口的指针来实现: m_wndReBar . Create(this ) ;
Company Logo
在MFC中,工具栏CToolBar的基类是 CControlBar,称为控件栏类.它又是Cwnd 类派 生的,这种继承关系有一些非常有用的含义。例 如,因为所有的控件都是由 CWnd 派生的,所以 它们被连接到一个 Windows API 窗口上,结果所 有的 CWnd 性能,如创建、移动、显示和隐藏窗 口,在使用控件栏时都是可用的。 工具栏是可停靠的。哪些边可接受停靠工具栏, 则由框架窗口来决定。 作为一种选择,工具栏还可以离开框架窗口的 边缘,放进一个自由浮动的面板中。 工具栏类 CToolBar 还支持“工具提示” ( ToolTips),
第五章菜单工具栏状态栏和对话框

11. 显示窗口列表(Window List)检查框:
决定是否显示所有打开的子窗体标题。
对MDI窗体和MDI子窗体有效,对普通窗体无效。
5.1 菜单设计
3.菜单设计的几项操作:
(1).设计下拉菜单 (2).设计子菜单或改变子菜单级别 (3).为菜单项分组
菜单名用减号“-” (4).为菜单项指定访问键和快捷键
5.4.2 通用对话框
三、通用对话框使用---打开/另存为对话框
属性
4.InitDir(初始化路径)属性:该属性用来指定打开对话框 中的初始目录,若不设置,系统则默认为“C:\My Documents\”。
sbrScrl
4
Scroll Lock 键。当激活滚动锁定时,用黑体显示字母 SCRL,反之,当停用滚动键时, 显示暗淡的字母。
sbrTime 5 Time。以系统格式显示当前时间。
sbrDate 6 Date。以系统格式显示当前日期。
5.3 状态栏(StatusBa源自 控件)3.状态栏事件响应及显示信息修改
2. 在ToolBar控件中添加按钮 (1)ToolBar控件
ToolBar控件包含一个按钮对象集合,该对象被用来创 建与应用程序相关联的工具栏。工具栏包含一些按钮,这 些按钮与应用程序菜单中各项的按钮对应,工具栏为用户 访问应用程序的最常用功能和命令提供了图形接口。
(2)为工具栏连接按钮 右键单击Toolbar控件,选择“属性”命令打开如图2所
False(缺省):选择“取消”按钮,没有错误警告。
2、 通用对话框的方法
除了Acton属性,VB还提供了一组方法用来打开不同类型对话框
ShowOpen
ShowSave ShowColor
实验九 菜单、工具栏和状态栏

实验九菜单、工具栏和状态栏一、实验目的1、熟悉菜单的创建与使用。
2、掌握状态栏的创建与使用。
3、掌握工具栏的创建与使用。
二、实验内容与步骤1、菜单的使用编写程序,用菜单命令调用对话框,在对话框中计算三门课的平均成绩。
3、活动工具栏的应用在应用程序中,使用活动工具条可以方便用户操作,使应用程序中的命令功能形象地显示。
本实例通过创建包含活动工具栏的单文档程序,学习工具栏的创建方法,CToolBar类的成员函数的使用等知识。
【实验步骤】(1)建立Application利用AppWizard创建一个单文档应用程序Exam4_1。
(2)添加资源①执行菜单:插入→资源,在弹出的资源对话框中选中Toolbar,然后单击右侧的新建。
②在新建工具条上新建三个位图图形,并修改它们的属性值:三个工具按钮的ID分别设为:ID_REDTOOL、ID_GREENTOOL、ID_BLUETOOL。
新工具栏的ID为:IDR_COLORTOOL(3)增加菜单命令项①打开菜单编辑器,在查看菜单下添加一项“显示颜色工具”,其ID值设为:ID_COLORTOOLVIEW。
②在“建立类向导”对话框中,为菜单命令加入消息映射,消息处理函数为:OnColorToolView()。
(4)修改程序代码①在CMainFrm.h中添加CToolBar的保护类protected: CToolBar *m_pColor;②在MainFrame.cpp文件中对m_pColor类初始化:CMainFrame::CMainFrame():m_pColor(0){}③修改响应菜单命令的程序代码:void CMainFrame::OnColortoolview(){if (0==m_pColor){ m_pColor=new CToolBar;if (0==m_pColor->Create(this)){ MessageBox("创建失败");return;}m_pColor->LoadToolBar(IDR_COLORTOOLBAR);m_pColor->EnableDocking(CBRS_ALIGN_ANY);DockControlBar(m_pColor);}elseif(m_pColor->IsWindowVisible()==TRUE)ShowControlBar(m_pColor,FALSE,FALSE);elseShowControlBar(m_pColor,TRUE,TRUE);}。
6、菜单栏、工具栏、状态栏

项目二:系统主界面窗体的制作 单元四:菜单栏、工具栏、状态栏的制作
学习目标
1、MenuStrip控件的使用 学习要点: • 主菜单的制作 • 下拉菜单的制作 图标、文字、快捷键
2、ContextMenuStrip控件的使用 • 学习要点: 制作快捷菜单
将使用快捷菜单的控件(窗体)的 contextMenuStrip属性设置为你制作的快捷 菜单
第六步:如果要使状态栏时间信息随操作系统当 前时间不停的改变则可以通过增加Timer控件来 实现增加Timer控件 timer1 编写其Tick事件为:
Timer控件
Timer控件:它是个时钟控件,表示间隔若干毫 秒就会自动触发一个事件:Tick事件。
我们把获取时间的程序放在Tick事件中, 如果能间隔一秒就能触发一次Tick事件, 那就相当于间隔一秒获取一次系统时间。 可以设置Timer控件的Interval属性来设定间 隔的长短: timer1.Interval=1000; timer1. Enable=true;就表示控件开始起作用了。
第三步:修改toolStripStatusLabel1的Text属 性为相关文字如“欢迎使用本系统”。 第四步: 修改toolStripStatusLabel2的Text属性为: “制作Right,即选中 “左” 和“右” 。
private void timer1_Tick(object sender, EventArgs e) { this.toolStripStatusLabel3.Text = “系统当前时间:” + DateTime.Now.ToString(“yyyy-MM-dd hh:mm:ss”); } 在Form的Load事件中 对timer1进行相关设置 private void MainForm_Load(object sender, EventArgs e) { this.toolStripStatusLabel3.Text = "系统当前时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); this.timer1.Interval=1000; this.timer1.Enable; }