C#菜单分为主菜单和快捷菜单两种
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
private void toolOpen_Click(object sender, EventArgs e)//工具栏按钮“打开” { mnuFileOpen_Click(null,null ); }
private void toolSave_Click(object sender, EventArgs e)//工具栏按钮“保存” { mnuFileSave_Click(null,null ); }
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(object 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().GetDataPresent(DataFormats.Text) == true)//剪切板中是否有文本
5
{ txtEdit.Paste();
} } private void mnuDel_Click(object sender, EventArgs e)//"删除"菜单项 {
if (txtEdit.SelectedText != "") {
txtEdit.SelectedText=""; } } private void mnuSelectAll_Click(object sender, EventArgs e)//"全选"菜单项 { txtEdit.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,null ); } private void mnuContextPaste_Click(object sender, EventArgs e)//快捷菜单“粘贴” { mnuPaste_Click(null,null ); } private void mnuContextDel_Click(object sender, EventArgs e)//快捷菜单“删除” { mnuDel_Click(null,null ); }
(6)Click 事件:单击该菜单项对象时发生。每个菜单项都是一个控件,都响 应一个事件过程。每次单击菜单项时,就会调用一个菜单项的单击事件过程。
2
例如:private void mnuExit_Click(object sender, EventArgs e)//"退出"菜单项 { Application.Exit(); }
方法二:选中 ToolStrip 控件,单击工具栏右侧的三角符号,单击“编辑项” 命令,在弹出的“项集合编辑器”对话框中,在子项下拉列表框中选择合适的 子项类型,单击“添加”按钮,而右边的属性设置栏将用于设置各项的属性值, 如下图所示。
7
2、工具栏按钮常用属性: 1)Name:工具栏控件的名字,默认名字为:toolStripButton1 等。 2)Image:设置工具栏按钮上放置的图片。 3)ToolTipText:设置工具栏按钮上用鼠标指向时所显示的提示文本。
如图所示。主菜单项有:文件,编辑和格式三项。子菜单项分别包含如下图所示的菜单项。
3
编写部分菜单项及工具栏和状态栏的相应事件方法: private void mnuFile_DropDownOpening(object sender, EventArgs e)//打开“文件”
菜单项时 { if (txtEdit.Text != "") { mnuFileNew.Enabled = true;//“新建”菜单项可用 mnuFileSave.Enabled = true;//“保存”菜单项可用 } else { mnuFileNew.Enabled = false ;//“新建”菜单项不可用 mnuFileSave.Enabled = false ;//“保存”菜单项不可用 } }
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)) mnuPaste.Enabled = true;
else mnuPaste.Enabled = false;
if (txtEdit.SelectionLength > 0) {
3、工具栏的常用事件: ItemClicked DoubleClick Click 4、工具栏举例:
操作步骤: (1) 向体中加入 ToolStrip 控件; (2) 添加 6 个按钮和 1 个分隔条子项。 (3) 设置每个按钮上面的图片。
8
(4) 为工具栏按钮编写 Click 事件处理程序:
private void toolNew_Click(object sender, EventArgs e)//工具栏按钮“新建” { mnuFileNew_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 ); }
(二)工具栏
工具栏(ToolStrip)是一个包含许多图形栏按钮(ToolBarButton)的一个容器,
使用工具栏中的按钮可以很方便地操作应用程序,加快操作的速度。
上次课学习的菜单可以说包含应用程序的所有功能,而工具栏往往只对应
6
菜单中部分常用的功能。对这些常用的功能,使用工具栏中按钮比使用菜单更 方便。 一、ToolStrip 控件:(工具栏控件)
1
2、菜单项控件的常用属性及事件: (1)Name:该菜单项对象的名字,可将默认的名字改名。 (2)Text:string 型,该菜单项对象的标题文本,如“文件”、“编辑” 两个特殊值:
Text 的值如果是“-”则菜单项为分隔符。 Text 的值中如果出现“&”符号,则紧跟在后面的字母为访问键。 (3)Enabled:bool 型,设置菜单项是否可用。值为 false,则该菜单项显示为 灰色,表示不可用。(举例:如文本框中没选中文字,复制不能用) (4)Checked:bool 型,设置菜单项的文本前是否出现选中标记“√” (5)ShortcutKeys:设置菜单项的快捷键。如:Ctrl+N(区分访问键和快捷键)
三、快捷菜单创建: 1、使用 ContextMenuStrip 类 (1)在窗体放置一个 ContextMenuStrip 控件,默认名称 contextMenuStrip1 (2)选中 contextMenuStrip1 对象,通过菜单编辑器建立各菜单项(方法同主 菜单中菜单项创建) (3)编写每个菜单项的 Click 事件处理程序(快捷菜单中的菜单项一般都与主 菜单项对应,在其 Click 事件处理程序中一般直接调用主菜单项的 Click 事件 处理程序即可,不用重复输入代码) (4)设置被弹出对象的 ContextMenuStrip 属性为 contextMenuStrip1 实例:设计简单记事本程序,设计记事本程序的菜单和快捷菜单。
当前的状态。如:可显示系统时间、鼠标的当前坐标等信息。
(一)菜单设计:
菜单、工具栏、状态栏的设计
1、 菜单是组织应用程序功能的一种方法,应用程序界面通常通过菜单来使用
程序的功能。
2、 菜单分类:C#菜单分为主菜单和快捷菜单两种。 主菜单 :标题栏下面显示的菜单。 快捷菜单:右击鼠标显示的菜单。
3、 菜单类:
创建菜单使用的菜单类有: 主菜单类(MenuStrip 类):创建主菜单 快捷菜单类(ContextMenuStrip 类):创建快捷菜单
个对象 menuStrip1.
(2)选中 menuStrip1,在窗体界面上出现的“请在此输入”的位置输入菜单
项名(设 Text 属性),每输入一个,自动产生一个菜单项对象的。在属性窗口
中可设置其名称(Name)属性。
(3)双击某个菜单项,自动转入代码编辑器窗口,手工编写该菜单项的 Click
事件处理程序。
private void toolPaste_Click(object sender, EventArgs e)//工具栏按钮“粘贴” { mnuPaste_Click(null,null ); }
(三)状态栏控件 StatusStrip
1、状态栏:是应用程序窗口下部的一个输出区域,用于显示系统或用户文档
1. 添加控件及设置工具栏按钮: 在工具箱中,选择 ToolStrip 控件放置到设计窗体中,在默认状态下该控件 的最左侧有一个下拉按钮,常用的子项有: Button/Label/SplitButton/DropDownButton/Separator/ComboBox/TextBox/Progres sBar 等,可以用两种方法来添加设置这些子项。 方法一:可以选中 ToolStrip 控件,直接单击设计界面中的下拉按钮选择需 要的子项,再对该子项的属性进行直接设置,如图所示。
这些类都属于 System.Windows.Forms 命名空间
4、 创建菜单的方法: 工具箱中的菜单控件直接编辑而成;(常用的方式) 由程序代码生成。(一般了解)
二、主菜单创建:
使用 MenuStrip 类
1、菜单控件使用方法:
(1)在窗体设计器界面从工具箱中拖至窗体一个 MenuStrip 控件,自动产生一
private void mnuUndo_Click(object sender, EventArgs e)//“撤消”菜单项 { if (txtEdit.CanUndo == true) { txtEdit.Undo();//撤消上一次操作 txtEdit.ClearUndo();//清除缓冲区中有关撤消的信息 } }
private void mnuCut_Click(object sender, EventArgs e)//“剪切”菜单项 { if (txtEdit.SelectedText != "") { txtEdit.Cut();
4
} } private void mnuEdit_DropDownOpening(object sender, EventArgs e)//弹出"编辑" 菜单时决定菜单项是否可用 {
private void toolSave_Click(object sender, EventArgs e)//工具栏按钮“保存” { mnuFileSave_Click(null,null ); }
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(object 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().GetDataPresent(DataFormats.Text) == true)//剪切板中是否有文本
5
{ txtEdit.Paste();
} } private void mnuDel_Click(object sender, EventArgs e)//"删除"菜单项 {
if (txtEdit.SelectedText != "") {
txtEdit.SelectedText=""; } } private void mnuSelectAll_Click(object sender, EventArgs e)//"全选"菜单项 { txtEdit.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,null ); } private void mnuContextPaste_Click(object sender, EventArgs e)//快捷菜单“粘贴” { mnuPaste_Click(null,null ); } private void mnuContextDel_Click(object sender, EventArgs e)//快捷菜单“删除” { mnuDel_Click(null,null ); }
(6)Click 事件:单击该菜单项对象时发生。每个菜单项都是一个控件,都响 应一个事件过程。每次单击菜单项时,就会调用一个菜单项的单击事件过程。
2
例如:private void mnuExit_Click(object sender, EventArgs e)//"退出"菜单项 { Application.Exit(); }
方法二:选中 ToolStrip 控件,单击工具栏右侧的三角符号,单击“编辑项” 命令,在弹出的“项集合编辑器”对话框中,在子项下拉列表框中选择合适的 子项类型,单击“添加”按钮,而右边的属性设置栏将用于设置各项的属性值, 如下图所示。
7
2、工具栏按钮常用属性: 1)Name:工具栏控件的名字,默认名字为:toolStripButton1 等。 2)Image:设置工具栏按钮上放置的图片。 3)ToolTipText:设置工具栏按钮上用鼠标指向时所显示的提示文本。
如图所示。主菜单项有:文件,编辑和格式三项。子菜单项分别包含如下图所示的菜单项。
3
编写部分菜单项及工具栏和状态栏的相应事件方法: private void mnuFile_DropDownOpening(object sender, EventArgs e)//打开“文件”
菜单项时 { if (txtEdit.Text != "") { mnuFileNew.Enabled = true;//“新建”菜单项可用 mnuFileSave.Enabled = true;//“保存”菜单项可用 } else { mnuFileNew.Enabled = false ;//“新建”菜单项不可用 mnuFileSave.Enabled = false ;//“保存”菜单项不可用 } }
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)) mnuPaste.Enabled = true;
else mnuPaste.Enabled = false;
if (txtEdit.SelectionLength > 0) {
3、工具栏的常用事件: ItemClicked DoubleClick Click 4、工具栏举例:
操作步骤: (1) 向体中加入 ToolStrip 控件; (2) 添加 6 个按钮和 1 个分隔条子项。 (3) 设置每个按钮上面的图片。
8
(4) 为工具栏按钮编写 Click 事件处理程序:
private void toolNew_Click(object sender, EventArgs e)//工具栏按钮“新建” { mnuFileNew_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 ); }
(二)工具栏
工具栏(ToolStrip)是一个包含许多图形栏按钮(ToolBarButton)的一个容器,
使用工具栏中的按钮可以很方便地操作应用程序,加快操作的速度。
上次课学习的菜单可以说包含应用程序的所有功能,而工具栏往往只对应
6
菜单中部分常用的功能。对这些常用的功能,使用工具栏中按钮比使用菜单更 方便。 一、ToolStrip 控件:(工具栏控件)
1
2、菜单项控件的常用属性及事件: (1)Name:该菜单项对象的名字,可将默认的名字改名。 (2)Text:string 型,该菜单项对象的标题文本,如“文件”、“编辑” 两个特殊值:
Text 的值如果是“-”则菜单项为分隔符。 Text 的值中如果出现“&”符号,则紧跟在后面的字母为访问键。 (3)Enabled:bool 型,设置菜单项是否可用。值为 false,则该菜单项显示为 灰色,表示不可用。(举例:如文本框中没选中文字,复制不能用) (4)Checked:bool 型,设置菜单项的文本前是否出现选中标记“√” (5)ShortcutKeys:设置菜单项的快捷键。如:Ctrl+N(区分访问键和快捷键)
三、快捷菜单创建: 1、使用 ContextMenuStrip 类 (1)在窗体放置一个 ContextMenuStrip 控件,默认名称 contextMenuStrip1 (2)选中 contextMenuStrip1 对象,通过菜单编辑器建立各菜单项(方法同主 菜单中菜单项创建) (3)编写每个菜单项的 Click 事件处理程序(快捷菜单中的菜单项一般都与主 菜单项对应,在其 Click 事件处理程序中一般直接调用主菜单项的 Click 事件 处理程序即可,不用重复输入代码) (4)设置被弹出对象的 ContextMenuStrip 属性为 contextMenuStrip1 实例:设计简单记事本程序,设计记事本程序的菜单和快捷菜单。
当前的状态。如:可显示系统时间、鼠标的当前坐标等信息。
(一)菜单设计:
菜单、工具栏、状态栏的设计
1、 菜单是组织应用程序功能的一种方法,应用程序界面通常通过菜单来使用
程序的功能。
2、 菜单分类:C#菜单分为主菜单和快捷菜单两种。 主菜单 :标题栏下面显示的菜单。 快捷菜单:右击鼠标显示的菜单。
3、 菜单类:
创建菜单使用的菜单类有: 主菜单类(MenuStrip 类):创建主菜单 快捷菜单类(ContextMenuStrip 类):创建快捷菜单
个对象 menuStrip1.
(2)选中 menuStrip1,在窗体界面上出现的“请在此输入”的位置输入菜单
项名(设 Text 属性),每输入一个,自动产生一个菜单项对象的。在属性窗口
中可设置其名称(Name)属性。
(3)双击某个菜单项,自动转入代码编辑器窗口,手工编写该菜单项的 Click
事件处理程序。
private void toolPaste_Click(object sender, EventArgs e)//工具栏按钮“粘贴” { mnuPaste_Click(null,null ); }
(三)状态栏控件 StatusStrip
1、状态栏:是应用程序窗口下部的一个输出区域,用于显示系统或用户文档
1. 添加控件及设置工具栏按钮: 在工具箱中,选择 ToolStrip 控件放置到设计窗体中,在默认状态下该控件 的最左侧有一个下拉按钮,常用的子项有: Button/Label/SplitButton/DropDownButton/Separator/ComboBox/TextBox/Progres sBar 等,可以用两种方法来添加设置这些子项。 方法一:可以选中 ToolStrip 控件,直接单击设计界面中的下拉按钮选择需 要的子项,再对该子项的属性进行直接设置,如图所示。
这些类都属于 System.Windows.Forms 命名空间
4、 创建菜单的方法: 工具箱中的菜单控件直接编辑而成;(常用的方式) 由程序代码生成。(一般了解)
二、主菜单创建:
使用 MenuStrip 类
1、菜单控件使用方法:
(1)在窗体设计器界面从工具箱中拖至窗体一个 MenuStrip 控件,自动产生一
private void mnuUndo_Click(object sender, EventArgs e)//“撤消”菜单项 { if (txtEdit.CanUndo == true) { txtEdit.Undo();//撤消上一次操作 txtEdit.ClearUndo();//清除缓冲区中有关撤消的信息 } }
private void mnuCut_Click(object sender, EventArgs e)//“剪切”菜单项 { if (txtEdit.SelectedText != "") { txtEdit.Cut();
4
} } private void mnuEdit_DropDownOpening(object sender, EventArgs e)//弹出"编辑" 菜单时决定菜单项是否可用 {