C菜单分为主菜单和快捷菜单两种.docx

上传人:b****6 文档编号:6507432 上传时间:2023-01-07 格式:DOCX 页数:11 大小:138.96KB
下载 相关 举报
C菜单分为主菜单和快捷菜单两种.docx_第1页
第1页 / 共11页
C菜单分为主菜单和快捷菜单两种.docx_第2页
第2页 / 共11页
C菜单分为主菜单和快捷菜单两种.docx_第3页
第3页 / 共11页
C菜单分为主菜单和快捷菜单两种.docx_第4页
第4页 / 共11页
C菜单分为主菜单和快捷菜单两种.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C菜单分为主菜单和快捷菜单两种.docx

《C菜单分为主菜单和快捷菜单两种.docx》由会员分享,可在线阅读,更多相关《C菜单分为主菜单和快捷菜单两种.docx(11页珍藏版)》请在冰豆网上搜索。

C菜单分为主菜单和快捷菜单两种.docx

C菜单分为主菜单和快捷菜单两种

菜单、工具栏、状态栏的设计

(一)菜单设计:

1、菜单是组织应用程序功能的一种方法,应用程序界面通常通过菜单来使用程序的功能。

2、菜单分类:

C#菜单分为主菜单和快捷菜单两种。

◆主菜单:

标题栏下面显示的菜单。

◆快捷菜单:

右击鼠标显示的菜单。

3、菜单类:

创建菜单使用的菜单类有:

◆主菜单类(MenuStrip类):

创建主菜单

◆快捷菜单类(ContextMenuStrip类):

创建快捷菜单

这些类都属于System.Windows.Forms命名空间

4、创建菜单的方法:

◆工具箱中的菜单控件直接编辑而成;(常用的方式)

◆由程序代码生成。

(一般了解)

二、主菜单创建:

使用MenuStrip类

1、菜单控件使用方法:

(1)在窗体设计器界面从工具箱中拖至窗体一个MenuStrip控件,自动产生一个对象menuStrip1.

(2)选中menuStrip1,在窗体界面上出现的“请在此输入”的位置输入菜单项名(设Text属性),每输入一个,自动产生一个菜单项对象的。

在属性窗口中可设置其名称(Name)属性。

(3)双击某个菜单项,自动转入代码编辑器窗口,手工编写该菜单项的Click事件处理程序。

2、菜单项控件的常用属性及事件:

(1)Name:

该菜单项对象的名字,可将默认的名字改名。

(2)Text:

string型,该菜单项对象的标题文本,如“文件”、“编辑”

◆两个特殊值:

✧Text的值如果是“-”则菜单项为分隔符。

✧Text的值中如果出现“&”符号,则紧跟在后面的字母为访问键。

(3)Enabled:

bool型,设置菜单项是否可用。

值为false,则该菜单项显示为灰色,表示不可用。

(举例:

如文本框中没选中文字,复制不能用)

(4)Checked:

bool型,设置菜单项的文本前是否出现选中标记“√”

(5)ShortcutKeys:

设置菜单项的快捷键。

如:

Ctrl+N(区分访问键和快捷键)

(6)Click事件:

单击该菜单项对象时发生。

每个菜单项都是一个控件,都响应一个事件过程。

每次单击菜单项时,就会调用一个菜单项的单击事件过程。

例如:

privatevoidmnuExit_Click(objectsender,EventArgse)//"退出"菜单项

{

Application.Exit();

}

三、快捷菜单创建:

1、使用ContextMenuStrip类

(1)在窗体放置一个ContextMenuStrip控件,默认名称contextMenuStrip1

(2)选中contextMenuStrip1对象,通过菜单编辑器建立各菜单项(方法同主菜单中菜单项创建)

(3)编写每个菜单项的Click事件处理程序(快捷菜单中的菜单项一般都与主菜单项对应,在其Click事件处理程序中一般直接调用主菜单项的Click事件处理程序即可,不用重复输入代码)

(4)设置被弹出对象的ContextMenuStrip属性为contextMenuStrip1

实例:

设计简单记事本程序,设计记事本程序的菜单和快捷菜单。

如图所示。

主菜单项有:

文件,编辑和格式三项。

子菜单项分别包含如下图所示的菜单项。

      

编写部分菜单项及工具栏和状态栏的相应事件方法:

privatevoidmnuFile_DropDownOpening(objectsender,EventArgse)//打开“文件”菜单项时

{

if(txtEdit.Text!

="")

{

mnuFileNew.Enabled=true;//“新建”菜单项可用

mnuFileSave.Enabled=true;//“保存”菜单项可用

}

else

{

mnuFileNew.Enabled=false;//“新建”菜单项不可用

mnuFileSave.Enabled=false;//“保存”菜单项不可用

}

}

privatevoidmnuUndo_Click(objectsender,EventArgse)//“撤消”菜单项

{

if(txtEdit.CanUndo==true)

{

txtEdit.Undo();//撤消上一次操作

txtEdit.ClearUndo();//清除缓冲区中有关撤消的信息

}

}

privatevoidmnuCut_Click(objectsender,EventArgse)//“剪切”菜单项

{

if(txtEdit.SelectedText!

="")

{

txtEdit.Cut();

}

}

privatevoidmnuEdit_DropDownOpening(objectsender,EventArgse)//弹出"编辑"菜单时决定菜单项是否可用

{

if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))

mnuPaste.Enabled=true;

else

mnuPaste.Enabled=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;

}

}

privatevoidmnuExit_Click(objectsender,EventArgse)//"退出"菜单项

{

Application.Exit();

}

privatevoidmnuCopy_Click(objectsender,EventArgse)//"复制"菜单项

{

if(txtEdit.SelectedText!

="")

{

txtEdit.Copy();

}

}

privatevoidmnuPaste_Click(objectsender,EventArgse)//"粘贴"菜单项

{

if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)==true)//剪切板中是否有文本

{

txtEdit.Paste();

}

}

privatevoidmnuDel_Click(objectsender,EventArgse)//"删除"菜单项

{

if(txtEdit.SelectedText!

="")

{

txtEdit.SelectedText="";

}

}

privatevoidmnuSelectAll_Click(objectsender,EventArgse)//"全选"菜单项

{

txtEdit.SelectAll();

}

privatevoidmnuContextUndo_Click(objectsender,EventArgse)//快捷菜单“撤消”

{

mnuUndo_Click(null,null);

}

privatevoidmnuContextCut_Click(objectsender,EventArgse)//快捷菜单“剪切”

{

mnuCut_Click(null,null);

}

privatevoidmnuContextCopy_Click(objectsender,EventArgse)//快捷菜单“复制”

{

mnuCopy_Click(null,null);

}

privatevoidmnuContextPaste_Click(objectsender,EventArgse)//快捷菜单“粘贴”

{

mnuPaste_Click(null,null);

}

privatevoidmnuContextDel_Click(objectsender,EventArgse)//快捷菜单“删除”

{

mnuDel_Click(null,null);

}

(二)工具栏

工具栏(ToolStrip)是一个包含许多图形栏按钮(ToolBarButton)的一个容器,使用工具栏中的按钮可以很方便地操作应用程序,加快操作的速度。

上次课学习的菜单可以说包含应用程序的所有功能,而工具栏往往只对应菜单中部分常用的功能。

对这些常用的功能,使用工具栏中按钮比使用菜单更方便。

一、ToolStrip控件:

(工具栏控件)

1.添加控件及设置工具栏按钮:

在工具箱中,选择ToolStrip控件放置到设计窗体中,在默认状态下该控件的最左侧有一个下拉按钮,常用的子项有:

Button/Label/SplitButton/DropDownButton/Separator/ComboBox/TextBox/ProgressBar等,可以用两种方法来添加设置这些子项。

方法一:

可以选中ToolStrip控件,直接单击设计界面中的下拉按钮选择需要的子项,再对该子项的属性进行直接设置,如图所示。

方法二:

选中ToolStrip控件,单击工具栏右侧的三角符号,单击“编辑项”命令,在弹出的“项集合编辑器”对话框中,在子项下拉列表框中选择合适的子项类型,单击“添加”按钮,而右边的属性设置栏将用于设置各项的属性值,如下图所示。

2、工具栏按钮常用属性:

1)Name:

工具栏控件的名字,默认名字为:

toolStripButton1等。

2)Image:

设置工具栏按钮上放置的图片。

3)ToolTipText:

设置工具栏按钮上用鼠标指向时所显示的提示文本。

3、工具栏的常用事件:

ItemClicked

DoubleClick

Click

4、工具栏举例:

操作步骤:

(1)向窗体中加入ToolStrip控件;

(2)添加6个按钮和1个分隔条子项。

(3)设置每个按钮上面的图片。

(4)为工具栏按钮编写Click事件处理程序:

privatevoidtoolNew_Click(objectsender,EventArgse)//工具栏按钮“新建”

{

mnuFileNew_Click(null,null);

}

privatevoidtoolOpen_Click(objectsender,EventArgse)//工具栏按钮“打开”

{

mnuFileOpen_Click(null,null);

}

privatevoidtoolSave_Click(objectsender,EventArgse)//工具栏按钮“保存”

{

mnuFileSave_Click(null,null);

}

privatevoidtoolCopy_Click(objectsender,EventArgse)//工具栏按钮“复制”

{

mnuCopy_Click(null,null);

}

privatevoidtoolCut_Click(objectsender,EventArgse)//工具栏按钮“剪切”

{

mnuCut_Click(null,null);

}

privatevoidtoolPaste_Click(objectsender,EventArgse)//工具栏按钮“粘贴”

{

mnuPaste_Click(null,null);

}

(三)状态栏控件StatusStrip

1、状态栏:

是应用程序窗口下部的一个输出区域,用于显示系统或用户文档当前的状态。

如:

可显示系统时间、鼠标的当前坐标等信息。

2、使用:

在工具箱中选择StatusStrip控件放置到设计窗体中,在默认状态下该控件的最左侧有一个下拉按钮,用户可以根据需要添加子项,常用的子项类型有:

StatusLabel/SplitButton/DropDownButton/ProgressBar等。

添加这些子项的方法有两种:

1)选中StatusStrip控件,直接单击设计界面中的下拉按钮选择需要的子项,再对该子项的属性进行设置。

2)可以选中StatusStrip控件,单击其右侧的三角按钮,单击“编辑项”命令,在弹出的“项集合编辑器”对话框中,添加子项,在右侧属性栏设置各项的属性值。

3、状态栏控件的常用属性:

Name:

默认为toolStripStatusLabel1,….

Text:

设置状态栏中显示的文本信息。

Spring:

指定项是否要填满剩余的状态栏空间。

4、状态栏使用举例:

1)在窗体上创建添加statusStrip1控件;

2)添加三个子项,名称默认为toolStripStatusLabel1,…;

3)设置各子项的Text属性值分别为:

简单记事本、空、空。

Spring属性都设置为true.

4)在窗体上添加计时器控件。

Interval属性值设置为1000;Enabled设置为true.

5)编写相应程序代码:

//窗体一开始出现时在状态栏的第二窗格中就显示当前时间。

privatevoidForm1_Load(objectsender,System.EventArgse)

{

this.statusBarPanel2.Text=DateTime.Now.ToLongTimeString();

}

//利用时钟控件动态地显示当前时间,每秒钟显示一次。

privatevoidtimer1_Tick(objectsender,System.EventArgse)

{

this.statusBarPanel2.Text=DateTime.Now.ToLongTimeString();

}

//在文本框中移动鼠标时,在状态栏的第二窗格中显示鼠标所在的位置。

privatevoidtextBox1_MouseMove(objectsender,System.Windows.Forms.MouseEventArgse)

{

this.statusBarPanel3.Text=e.X.ToString()+","+e.Y.ToString();

}

小结:

掌握菜单、工具栏、状态栏的设计方法。

作业:

简述菜单、工具栏和状态栏的设计方法。

预习:

实验 界面设计

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

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1