首页 > 编程 > .NET > 正文

走近VB.Net(六) 菜单与托盘图标

2024-07-10 13:01:24
字体:
来源:转载
供稿:网友
走近vb.net(六) 菜单与托盘图标

在vb.net中菜单使用控件而不是菜单编辑器,主菜单使用mainmenu控件,弹出菜单使用contextmenu,这里说一说弹出菜单,至于主菜单用法也没有什么大的区别,在vb6中只要使用菜单就一定会出现那个看得让人有点厌烦的标题栏,可是又没有什么好的办法,只好增加一个隐藏的窗体放置菜单,这就增加了不必要的内存开销,而现在的菜单控件不再有这些问题,可以设置没有标题栏却仍然使用菜单,更加灵活,更加易于使用,当然功能也更强大。托盘图标也使用控件,真的非常容易使用。

新建一个工程,如下添加(象在vb6中一样,点选控件然后在窗体上拖动一下)contextmenu1,trayicon1,(这些运行时不可见的控件都出现在窗体下面的区域),



首先编辑菜单,白色的请单击一下就变成蓝色选中状态,当菜单条呈蓝色选中状态时请输入菜单的标题,这个比vb6容易得多,我不知道是谁说vb.net很麻烦,更不知道谁发明如此伟大的理论,一定要学java,然后才能学vb.net。原文的作者只是说在vb.net还没有发行(这是很久以前的事了)的时候可以学一些java以熟悉一下面向对象的方法。学什么本是各人自己的事情,不过说话总要有一些根椐,我想把王国荣的《vb7 的对象导向功能》开篇一段话放在下面:

“记得有首歌,描写女方婉拒男方的追求而唱出「他比你先来」,但是在计算机的世界里只问谁是我最需要的,先来后到的次序并不是主要的考量。谈到对象导向程序语言的诞生,c++ 及java的诞生比第一名的smalltalk晚了很久,但使用人口却远远超过smalltalk,vb更别说了,只能用「大迟到者」来形容,但迟到总比没到好。为什么vb迟到那么久,原因笔者不详(问微软吧),但今天他也跟其它参与对象导向宴会的程序语言一样盛装而到,要不要与他跳支舞呢?且让我们先来检视一番。”

原文作者认为在vb6中其实已实现80%的面向对象,只是有些人一定要说只有1%的(否则如何才能显出那个的优越呢?)。现在用vb的人少了,大部分是由于有些顽固的观念在作怪,有些人认为有了c#,还要c++做什么?更有人说有了c#,还要vb.net做什么,我的辩论水平不是很好,我也没有这方面的知识,不过如果你相信王国荣的这段话,相信微软的开发组不是吃“”的,那你就学吧,学习比之成就感也有不逊的乐趣。(并不是所有的人都是为了容易才学vb的,也许想把更多的精力放到需要的地方或者是上帝的安排,vb.net正是适用这样的人),总之你喜欢用什么就用什么,如果喜欢用vb6的话也没有什么不对,现在不是还有好多人在用vb5么?(winxp都出来了,win95也没有过时,winme想把dos砍掉,dos还活得很好,不过我是xxyj的。如果vb8.0出来,我自然是8.0不回头了)

菜单项加上“退出程序”,“隐藏托盘图标”等等。单击trayicon1的控件,在属性栏编辑属性,visible属性为false,单击contextmenu右侧的向下按键,在下拉列表选择你想要使用弹出菜单,这里只有一个弹出菜单contextmenu1供选择,在icon属性栏的对话框中选出择一个icon图标,最好拷贝到当前目录再在属性栏输入,单击contextmenu,icon前的“+”号,有更多的选项可供选择。

添加一个button1,设置text属性为“显示托盘图标”,写代码如下:
protected sub button1_click(byval sender as object, byval e as system.eventargs)

trayicon1.visible = true
end sub


单击contextmenu1控件,在出现在窗体上的菜单上选出择“退出程序”,双击(如果代码编辑不出现,请重新双击),写代码如下:
protected sub menuitem5_click(byval sender as object, byval e as system.eventargs)

end

end sub



单击“隐藏托盘图标”,写代码如下:
protected sub menuitem6_click(byval sender as object, byval e as system.eventargs)

trayicon1.visible = false

end sub



运行程序,单击按键“显示托盘图标”,显示托盘图标,右键单击托盘图标选出菜单“隐藏托盘图标”单击,隐藏托盘图标.。当然你需要根据你的需要扩充更强大的功能,让你的程序多姿多彩。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表