信息发布软件,b2b软件,广告发布软件
标题: VB.NET再也不怕弹窗了几个代码就可以把他最小化在状态栏里 [打印本页]
作者: 群发软件 时间: 2017-5-20 00:10
标题: VB.NET再也不怕弹窗了几个代码就可以把他最小化在状态栏里
本帖最后由 群发软件 于 2017-5-20 00:13 编辑
本文所使用的编程环境是Microsoft Visual Studio 2005,首先打开Visual Studio。在文件(File)菜单上,单击新建项目(New Project)。在新建项目(New Project)对话框的模板(Templates)窗格中,单击Windows应用程序(WindowsApplication)。单击确定(ok)。
想要将窗体图标最小化时自动隐藏到任务栏,我们可以使用一个控件,这个控件的名字叫做NotifyIcon控件,打开左侧的工具箱找到NotifyIcon控件直接将它拖到窗体上。把NotifyIcon的Icon属性设一下,当然ICON属性你可以设置一个好看的图标。
图1
接下来单击Form1窗体,进入属性设置。把Form的WindowState设成Minimized;ShowInTaskbar属性设成False。
图2
接下来我们就要输入代码了。在Form的Resize代码事件中,
Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Resize
If Me.WindowState = FormWindowState.Minimized Then
Me.Hide()
End If
End Sub
代码的意思是让窗体最小化的时候就自动隐藏到状态栏。
这样运行的时候窗体就会自动隐藏,出现在状态栏了。
想双击图标的时候显示窗体的话可以设置NotifyIcon控件的DoubleClick代码。
代码如下:
Private Sub NotifyIcon1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles NotifyIcon1.DoubleClick
Me.ShowInTaskbar = True
Me.Show()
Me.WindowState = FormWindowState.Normal
End Sub
如果我们想创建右键菜单的话,我们可以在窗体上添加一个ContextMenustrip控件,用NotifyIcon的ContextMenu属性进行关联。
在工具箱中选择菜单和工具栏,直接将ContextMenu控件拖到窗体上进入属性设置,输入相应菜单关键字(自己想输入的文字如下图的软件版本等)。
图3
然后单击窗体的NotifyIcon1控件,设置属性,在contextmenustrip处选择刚才编辑过的右键菜单ContextMenustrip1进行关联。
图4
然后按F5运行程序,点击窗体最小化按钮,窗体的图标自动隐藏到状态栏了。点击右键你可以看到精美的右键菜单。
最小化到托盘需要用到 NotifyIcon 控件,从工具箱中找到并添加,其余代码如下:
[vb] view plain copy
- '最小化到右下角 & 锁定窗口大小
- Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Resize
-
- If Me.WindowState = FormWindowState.Minimized Then
- Me.Hide()
- End If
-
- '这里实现窗口不允许更改大小(就是在改变窗口大小的时候锁定某一数值,实现无法改变大小的效果。另外要把最大化按钮设置为false)
- Me.Width = 650
- Me.Height = 500
-
- End Sub
[vb] view plain copy
- '双击托盘中的图标还原窗口
- Private Sub NotifyIcon1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles NotifyIcon1.DoubleClick
-
- Me.ShowInTaskbar = True
- Me.Show()
-
- Me.WindowState = FormWindowState.Normal
- End Sub
notifyIcon的两个重要属性:贴贴狂贴 营销软件论坛
Icon:将在系统栏中显示的图标
Text:当鼠标悬停在该图标上时显示的文本推广网络软件
[vb] view plain copy
首先准备工作:
1.在窗体工具栏中找到NotifyIcon放入窗体(不在窗口中显示,此工具是托盘显示图标)
2.给NotifyIcon1设置Ico(此处必须先设置好,否则托盘中不显示图标)
设置好NotifyIcon1之后,可以用代码编写最小化时窗体隐藏到托盘:
Public Class Form1
'隐藏form,并在托盘显示图标(Notifyicon的图标必须先设置好)
Private Sub hideForm_and_showNotifyIcon()
With Me
.Visible = False '隐藏form
.ShowInTaskbar = False '不在任务栏显示
.NotifyIcon1.Visible = True '显示托盘图标
End With
End Sub
'显示form
Private Sub showForm_and_hideNotifyIcon()
With Me
.Visible = True '显示form
.ShowInTaskbar = True '在任务栏显示
'.NotifyIcon1.Visible = False '将托盘图标取消,可选项
.WindowState = FormWindowState.Normal '因为之前最小化了,现在要恢复为常规窗体显示
'显示窗体时置顶,但不需要一直置顶,所以再设置false
.TopMost = True
.TopMost = False
End With
End Sub
'因为没有最小化事件,在此resize事件中判断是否最小化可替代
Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
'最小化时显示托盘图标
If Me.WindowState = FormWindowState.Minimized Then
Call hideForm_and_showNotifyIcon()
End If
End Sub
'单击图标的时候,如果已经隐藏,则显示form,如果显示状态,则最小化
Private Sub NotifyIcon1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles NotifyIcon1.Click
With Me
If .Visible = True Then
Call hideForm_and_showNotifyIcon()
Else
Call showForm_and_hideNotifyIcon()
End If
End With
End Sub
End Class
其中Topmost为置顶form,在显示form的时候置顶一次,但不需要保持置顶,所以设置为true之后显示在最前端后直接设置为false即可.
作者: meili1 时间: 2017-5-23 15:17
意老板人很耐心
作者: lnzhanghao 时间: 2017-5-25 01:12
服务超好
作者: beiao 时间: 2017-5-30 01:39
这个有点问题吧。
作者: yirenzhuang 时间: 2017-6-8 05:01
和5号笨蛋很有耐心,服务也很好
欢迎光临 信息发布软件,b2b软件,广告发布软件 (http://postbbs.com/) |
Powered by Discuz! X3.2 |