程序启动时不出现在任务栏中。 实例005 可以拉伸的菜单界面 实例说明
如果管理程序功能菜单非常多,而用户只使用一些常用菜单,这时,可以将主菜单项下的不常用菜单隐藏起来。此种显示方式类似于对菜单进行拉伸。使用时,只需单击展开菜单,即可显示相应菜单功能。运行本例,效果如图1.5所示。 技术要点
要实现可以拉伸的菜单,关键是要使用一个开关变量,同时调用ShowDropDown()方法,显示操作后的结果。下面详细介绍一下该方法。
ShowDropDown()方法用来显示与此ToolStripDrop DownItem关联的ToolStripDropDownItem控件。其语法结构如下: public void ShowDropDown ()
另外,用ShowDropDown()方法还可以显示已由 DropDown 属性设置的下拉控件。 注意:必须设置开关变量的初值。 实现过程
(1)创建一个项目,将其命名为Ex01_05,默认窗体为Form1。
(2)从工具箱中向Form1窗体添加MenuStrip控件,选中MenuStrip控件为其添加子项。 (3)双击“展开(关闭)子项”为其双击事件添加处理代码。 (4)主要程序代码。
private void Form1_Load(object sender, EventArgs e) {
//初始设置下面的菜单隐藏
this.设置密码ToolStripMenuItem.Visible = false; this.添加用户ToolStripMenuItem.Visible = false; this.忘记密码ToolStripMenuItem.Visible = false; this.修改密码ToolStripMenuItem.Visible = false; this.员工录入ToolStripMenuItem.Visible = false; }
private void toolStripMenuItem1_Click(object sender, EventArgs e) {
switch (i) {
case 1:
this.设置密码ToolStripMenuItem.Visible = false; this.添加用户ToolStripMenuItem.Visible = false; this.忘记密码ToolStripMenuItem.Visible = false; this.修改密码ToolStripMenuItem.Visible = false; this.员工录入ToolStripMenuItem.Visible = false; i = 2;
this.操作ToolStripMenuItem.ShowDropDown(); break; case 2:
this.设置密码ToolStripMenuItem.Visible = true; this.添加用户ToolStripMenuItem.Visible = true; this.忘记密码ToolStripMenuItem.Visible = true; this.修改密码ToolStripMenuItem.Visible = true; this.员工录入ToolStripMenuItem.Visible = true; i = 1;
this.操作ToolStripMenuItem.ShowDropDown(); break; } } 举一反三
根据本实例,读者可以开发以下功能。 制作显示\\隐藏工具栏。
合并菜单栏。 实例006 菜级联菜单 实例说明
如果管理程序功能菜单非常多,一些功能中又包括许多子功能,这时可以使用级联菜单来组织系统的各个功能。实例运行结果如图1.6所示。
图1.6 级联菜单
技术要点
制作级联菜单需要使用MenuStrip控件。
注意:在使用级联菜单时最好不要超过5层,否则用户在使用时会很不方便。 实现过程
(1)创建一个项目,将其命名为Ex01_06,默认窗体为Form1。
(2)在Form1窗体添加MenuStrip控件,选中MenuStrip控件为其添加子项和级联子项。 举一反三
根据本实例,读者可以开发以下功能。 大型系统的功能导航。 在窗体四周再增加菜单栏。
1.2 工具栏设计
在菜单栏中将常用的菜单命令以工具栏按钮的形式显示,并作为快速访问方式。工具栏位于菜单栏的下方,由许多命令按钮组成,每个命令按钮上都有一个形象的小图标,以标识命令按钮的功能。由于工具栏这种直观易用的特点,使其已成为Windows应用程序的标准界面。 实例007 带带背景的工具栏 实例说明
工具栏是窗体的组成部分之一,工具栏中的按钮可以设定完成一些较为常用或重要的功能,本例中设计了一个工具栏,并且为该工具栏作了一些修饰,使工具栏带有背景。背景图案可以透过按钮显示,效果如图1.7所示。 技术要点
工具栏中的背景是一幅图片,在运行时应该将该图片绘制到工具栏上,在.NET 2.0中,只需将工具栏按钮的BackGroundImage的属性设置为对应的图片即可。 实现过程
(1)创建一个项目,将其命名为Ex01_07,默认窗体为Form1。
(2)从工具箱中为Form1窗体添加ToolStrip控件,并为工具栏添加相应的按钮。
(3)为工具栏的按钮设置相应的BackGroundImage属性,相应的的图片就会变成按钮的背景。 举一反三
根据本实例,读者可以开发以下功能。 制作一个带动画效果的工具栏。 制作一个自定义样式的工具栏。 实例008 带浮动工具栏 实例说明
通常情况下,窗体显示在屏幕的中心。对于使用频率非常高的软件,通常放在屏幕上端以浮动工具栏形式显示。下面通过实例介绍浮动工具栏的设计方法。运行程序,程序可以停在屏幕的任何位置,当窗体失去焦点后,窗体将自动隐藏。效果如图1.8所示。 技术要点
窗体是否要隐藏,重要的是要判断在操作中,通过窗体的Focused属性,是否可以确定窗体有焦点。在窗体有焦点时,该窗体正在被操作,这时需要完全显示在屏幕当中,如果窗体没有焦点,通过设置窗体到屏幕的高度,来确定窗体的隐藏部分。下面详细介绍一下Focused属性。 Focused属性用来获取一个值,该值指示控件是否有输入焦点。其语法结构如下: public virtual bool Focused { get; }
l 属性值:如果控件有焦点,则为True;否则为False。 实现过程
(1)创建一个项目,将其命名为Ex01_08,默认窗体为Form1。
(2)从工具箱中为Form1窗体添加Panel控件,并为Panel控件添加相应的背景图片。 (3)在Panel上添加两个Label控件,并将其Text属性设置为“打开”和“关闭”,同时把两个Label控件的背景颜色设置为透明。 (4)主要程序代码。
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Focused == false) {
this.Top = -30; } }
private void label2_Click(object sender, EventArgs e) {
this.Close(); }
private void panel1_MouseClick(object sender, MouseEventArgs e) {
this.Top = 60; } 举一反三
根据本实例,读者可以开发以下功能。 制作一个带动画效果的工具栏。 制作一个飘动的工具栏。 实例009 在带下拉菜单的工具栏 实例说明
工具栏是窗体的组成部分之一,工具栏中的按钮可以完成一些较为常用或重要的功能,本例中设计了一个工具栏,使工具栏带有下拉菜单,效果如图1.9所示。 技术要点
带下拉菜单的工具栏在其他计算机语言中实现比较复杂,但在.NET 2.0中已经提供了这个功能,只需将工具栏按钮的类型设置为DropDownButton即可。 实现过程
(1)创建一个项目,将其命名为Ex01_09,默认窗体为Form1。