C#菜单分为主菜单和快捷菜单两种_第1页
C#菜单分为主菜单和快捷菜单两种_第2页
C#菜单分为主菜单和快捷菜单两种_第3页
C#菜单分为主菜单和快捷菜单两种_第4页
C#菜单分为主菜单和快捷菜单两种_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上菜单、工具栏、状态栏的设计(一)菜单设计:1、 菜单是组织应用程序功能的一种方法,应用程序界面通常通过菜单来使用程序的功能。2、 菜单分类:C#菜单分为主菜单和快捷菜单两种。u 主菜单 :标题栏下面显示的菜单。u 快捷菜单:右击鼠标显示的菜单。3、 菜单类:创建菜单使用的菜单类有:u 主菜单类(MenuStrip类):创建主菜单u 快捷菜单类(ContextMenuStrip类):创建快捷菜单这些类都属于System.Windows.Forms命名空间4、 创建菜单的方法:u 工具箱中的菜单控件直接编辑而成;(常用的方式)u 由程序代码生成。(一般了解)二、主菜单创建

2、: 使用MenuStrip类1、菜单控件使用方法:(1)在窗体设计器界面从工具箱中拖至窗体一个MenuStrip控件,自动产生一个对象menuStrip1.(2)选中menuStrip1,在窗体界面上出现的“请在此输入”的位置输入菜单项名(设Text属性),每输入一个,自动产生一个菜单项对象的。在属性窗口中可设置其名称(Name)属性。(3)双击某个菜单项,自动转入代码编辑器窗口,手工编写该菜单项的Click事件处理程序。2、菜单项控件的常用属性及事件:(1)Name:该菜单项对象的名字,可将默认的名字改名。(2)Text:string型,该菜单项对象的标题文本,如“文件”、“编辑”u 两个特

3、殊值:² Text的值如果是“-”则菜单项为分隔符。² Text的值中如果出现“&”符号,则紧跟在后面的字母为访问键。(3)Enabled:bool型,设置菜单项是否可用。值为false,则该菜单项显示为灰色,表示不可用。(举例:如文本框中没选中文字,复制不能用)(4)Checked:bool型,设置菜单项的文本前是否出现选中标记“”(5)ShortcutKeys:设置菜单项的快捷键。如:Ctrl+N(区分访问键和快捷键)(6)Click事件:单击该菜单项对象时发生。每个菜单项都是一个控件,都响应一个事件过程。每次单击菜单项时,就会调用一个菜单项的单击事件过程。例如

4、:private void mnuExit_Click(object sender, EventArgs e)/"退出"菜单项 Application.Exit(); 三、快捷菜单创建:1、使用ContextMenuStrip类(1)在窗体放置一个ContextMenuStrip控件,默认名称contextMenuStrip1(2)选中contextMenuStrip1对象,通过菜单编辑器建立各菜单项(方法同主菜单中菜单项创建)(3)编写每个菜单项的Click事件处理程序(快捷菜单中的菜单项一般都与主菜单项对应,在其Click事件处理程序中一般直接调用主菜单项的Click事

5、件处理程序即可,不用重复输入代码)(4)设置被弹出对象的ContextMenuStrip属性为contextMenuStrip1实例:设计简单记事本程序,设计记事本程序的菜单和快捷菜单。如图所示。主菜单项有:文件,编辑和格式三项。子菜单项分别包含如下图所示的菜单项。编写部分菜单项及工具栏和状态栏的相应事件方法:private void mnuFile_DropDownOpening(object sender, EventArgs e)/打开“文件”菜单项时 if (txtEdit.Text != "") mnuFileNew.Enabled = true;/“新建”菜单项

6、可用 mnuFileSave.Enabled = true;/“保存”菜单项可用 else mnuFileNew.Enabled = false ;/“新建”菜单项不可用 mnuFileSave.Enabled = false ;/“保存”菜单项不可用 private void mnuUndo_Click(object sender, EventArgs e)/“撤消”菜单项 if (txtEdit.CanUndo = true) txtEdit.Undo();/撤消上一次操作 txtEdit.ClearUndo();/清除缓冲区中有关撤消的信息 private void mnuCut_Cli

7、ck(object sender, EventArgs e)/“剪切”菜单项 if (txtEdit.SelectedText != "") txtEdit.Cut(); private void mnuEdit_DropDownOpening(object sender, EventArgs e)/弹出"编辑"菜单时决定菜单项是否可用 if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) mnuPaste.Enabled = true; else mnuPaste.Enabled

8、= false; if (txtEdit.SelectionLength > 0) mnuCut.Enabled = true; mnuCopy.Enabled = true; mnuDel.Enabled = true; else mnuCut.Enabled = true; mnuCopy.Enabled = true; mnuDel.Enabled = true; if (txtEdit.CanUndo = true) mnuUndo.Enabled = true; else mnuUndo.Enabled = false; private void mnuExit_Click(o

9、bject sender, EventArgs e)/"退出"菜单项 Application.Exit(); private void mnuCopy_Click(object sender, EventArgs e)/"复制"菜单项 if (txtEdit.SelectedText != "") txtEdit.Copy(); private void mnuPaste_Click(object sender, EventArgs e)/"粘贴"菜单项 if (Clipboard.GetDataObject().

10、GetDataPresent(DataFormats.Text) = true)/剪切板中是否有文本 txtEdit.Paste(); private void mnuDel_Click(object sender, EventArgs e)/"删除"菜单项 if (txtEdit.SelectedText != "") txtEdit.SelectedText="" private void mnuSelectAll_Click(object sender, EventArgs e)/"全选"菜单项 txtEdi

11、t.SelectAll(); private void mnuContextUndo_Click(object sender, EventArgs e)/快捷菜单“撤消” mnuUndo_Click(null,null); private void mnuContextCut_Click(object sender, EventArgs e)/快捷菜单“剪切” mnuCut_Click(null,null ); private void mnuContextCopy_Click(object sender, EventArgs e)/快捷菜单“复制” mnuCopy_Click(null,nu

12、ll ); private void mnuContextPaste_Click(object sender, EventArgs e)/快捷菜单“粘贴” mnuPaste_Click(null,null ); private void mnuContextDel_Click(object sender, EventArgs e)/快捷菜单“删除” mnuDel_Click(null,null ); (二)工具栏工具栏(ToolStrip)是一个包含许多图形栏按钮(ToolBarButton)的一个容器,使用工具栏中的按钮可以很方便地操作应用程序,加快操作的速度。上次课学习的菜单可以说包含应用

13、程序的所有功能,而工具栏往往只对应菜单中部分常用的功能。对这些常用的功能,使用工具栏中按钮比使用菜单更方便。一、 ToolStrip控件:(工具栏控件)1. 添加控件及设置工具栏按钮:在工具箱中,选择ToolStrip控件放置到设计窗体中,在默认状态下该控件的最左侧有一个下拉按钮,常用的子项有:Button/Label/SplitButton/DropDownButton/Separator/ComboBox/TextBox/ProgressBar等,可以用两种方法来添加设置这些子项。方法一:可以选中ToolStrip控件,直接单击设计界面中的下拉按钮选择需要的子项,再对该子项的属性进行直接设

14、置,如图所示。方法二:选中ToolStrip控件,单击工具栏右侧的三角符号,单击“编辑项”命令,在弹出的“项集合编辑器”对话框中,在子项下拉列表框中选择合适的子项类型,单击“添加”按钮,而右边的属性设置栏将用于设置各项的属性值,如下图所示。2、工具栏按钮常用属性:1)Name:工具栏控件的名字,默认名字为:toolStripButton1等。2)Image:设置工具栏按钮上放置的图片。3)ToolTipText:设置工具栏按钮上用鼠标指向时所显示的提示文本。3、工具栏的常用事件:ItemClickedDoubleClickClick4、工具栏举例:操作步骤:(1) 向窗体中加入ToolStri

15、p控件;(2) 添加6个按钮和1个分隔条子项。(3) 设置每个按钮上面的图片。(4) 为工具栏按钮编写Click事件处理程序:private void toolNew_Click(object sender, EventArgs e)/工具栏按钮“新建” mnuFileNew_Click(null,null ); private void toolOpen_Click(object sender, EventArgs e)/工具栏按钮“打开” mnuFileOpen_Click(null,null ); private void toolSave_Click(object sender, Ev

16、entArgs e)/工具栏按钮“保存” mnuFileSave_Click(null,null ); private void toolCopy_Click(object sender, EventArgs e)/工具栏按钮“复制” mnuCopy_Click(null,null ); private void toolCut_Click(object sender, EventArgs e)/工具栏按钮“剪切” mnuCut_Click(null,null ); private void toolPaste_Click(object sender, EventArgs e)/工具栏按钮“粘

17、贴” mnuPaste_Click(null,null ); (三)状态栏控件 StatusStrip1、状态栏:是应用程序窗口下部的一个输出区域,用于显示系统或用户文档当前的状态。如:可显示系统时间、鼠标的当前坐标等信息。2、使用:在工具箱中选择StatusStrip控件放置到设计窗体中,在默认状态下该控件的最左侧有一个下拉按钮,用户可以根据需要添加子项,常用的子项类型有:StatusLabel/SplitButton/DropDownButton/ProgressBar等。添加这些子项的方法有两种:1)选中StatusStrip控件,直接单击设计界面中的下拉按钮选择需要的子项,再对该子项的

18、属性进行设置。2)可以选中StatusStrip控件,单击其右侧的三角按钮,单击“编辑项”命令,在弹出的“项集合编辑器”对话框中,添加子项,在右侧属性栏设置各项的属性值。3、状态栏控件的常用属性:Name: 默认为toolStripStatusLabel1,.Text:设置状态栏中显示的文本信息。Spring:指定项是否要填满剩余的状态栏空间。4、状态栏使用举例:1)在窗体上创建添加statusStrip1控件;2)添加三个子项,名称默认为toolStripStatusLabel1,;3)设置各子项的Text属性值分别为:简单记事本、空、空。Spring属性都设置为true.4)在窗体上添加计时器控件。Interval属性值设置为1000;Enabled设置为true. 5)编写相应程序代码:/窗体一开始出现时在状态栏的第二窗格中就显示当前时间。private void Form1_Load(object sender, System.EventArgs e)this.statusBarPanel2.Text=DateTime.Now.ToLongTimeString( );/利用时钟控件动态地显示当前时间,每秒钟显示一次。private void timer1_Tick(object sender, System.EventArgs e)this.st

温馨提示

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

评论

0/150

提交评论