[VB.NET]VB.NET中如何实现QQ消息的效果?

VB.NET中如何实现QQ消息的效果? 在WINFORM程序运行的时候任务栏中会出现一个图标,类似于QQ企鹅。 问题一:程序最小化以后,通过双击图标的什么事件或者方法可以让程序窗体还原并且显示在屏幕的最前面?(注意,程序不是被HIDE了,所以不能用show的方法) 问题二:怎样实现类似QQ图标消息通知的功能。 比如当收到好友的消息时,企鹅头像变成好友的图像,双击图标的时候跳出的是聊天窗口;而当收到的是系统消息时,企鹅头像变成喇叭图像,双击图标时跳出的是系统消息通知窗口。 请教各位大侠了,我是新人,分不多,全部20分送上。 __________________________________________________________________________ http://cache.baidu.com/c?word=vb,net,����&url=http://www.newasp.net/tech/net/11905.html&p=c679ce0386cc47ae03fbc7710d1d95&user=baidu 就是一个 托盘 __________________________________________________________________________ 谢谢舞者的回复,托盘的问题我已经解决,问题的难点是要让指定的窗口显示在屏幕的最前面,类似于me.bringtofront,不过不是这么写的。 __________________________________________________________________________ 没人回复,自己继续顶 __________________________________________________________________________ 继续顶 __________________________________________________________________________ 再顶一下 __________________________________________________________________________ 窗体本身就有一个置顶的选项 __________________________________________________________________________ 晕倒,拜托,那是始终保持在顶部好不好?看清题意了,是最小化以后再通过其他事件传递的方法让他重新出现在顶部! __________________________________________________________________________ CSDN是不是没人了?问什么问题都找不到答案。 __________________________________________________________________________ 还没有找到答案,自己使劲往上顶,帖子要沉了!! __________________________________________________________________________ 还没有找到答案,自己使劲往上顶,帖子要沉了!! __________________________________________________________________________ 还没有找到答案,自己使劲往上顶,帖子要沉了!! __________________________________________________________________________ 还没有找到答案,自己使劲往上顶,帖子要沉了!! __________________________________________________________________________ 还没有找到答案,自己使劲往上顶,帖子要沉了!! __________________________________________________________________________ me.activte __________________________________________________________________________ 不对,这个已经试过了,没用 __________________________________________________________________________ 顶起, 我也在做问题二的功能 问题一为什么不用hide()来做呢?? 我是这样实现的啊,有什么问题吗?? 最小化事件 Private Sub server_min_SizeChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.SizeChanged If Me.WindowState = FormWindowState.Minimized Then Me.Hide() NotifyIcon1.Visible = True End If End Sub ''鼠标双击事件 Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As System.Object,ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick If e.Button = Windows.Forms.MouseButtons.Left Then Me.Show() Me.WindowState = FormWindowState.Maximized End If End Sub __________________________________________________________________________ 我不太明白问题的描述。窗体有一个TopMost属性,可以显示在最前面。 PS:同意楼上的代码。 __________________________________________________________________________ 在窗口显示后让它得到焦点就行了。me.focus __________________________________________________________________________ 关注ING! __________________________________________________________________________ 我说一下我现在的做法吧 公共变量 judge_int as integer ''判断窗体是否已经打开,打开状态为1,关闭状态为0 在MDI容器的主窗体菜单ToolStripMenuItem的点击事件中写到: If judge_int = 0 Then Dim f5 As New form2 f5.MdiParent = Me f5.Show() judge_int = 1 Else ''以下msgbox处为需要修改部分,我不想用提示消息框的方法, ''能不能做到直接打开form2窗体?不是重复打开。 MsgBox("窗体已经打开,是否被最小化了!") End If __________________________________________________________________________ 是我表述不够清楚还是大家不理解这个做法的实际用途和意义啊? 帖子已经挂上去一个多星期了,到现在还没找到解决方法,急切盼望高人指点啊!! [color=#FF0000]注意关键问题:已经最小化的窗体(不是隐藏)或者被其他窗体覆盖的非活动窗体,重新显示在MDI窗体的最前面。不是永远置前!如果父窗体也被最小化了,点击NotifyIcon1图标的时候,用什么办法展现父窗体,同时将指定的子窗体显示在MDI窗体的最前面?[/color] __________________________________________________________________________ ''鼠标双击事件 Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As System.Object,ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick If e.Button = Windows.Forms.MouseButtons.Left Then Me.Show() Me.WindowState = FormWindowState.Maximized f5.MdiParent = Me f5.WindowState = FormWindowState.Normal End If End Sub 不知道对否?你试试看 __________________________________________________________________________ 错了,你这个也只是改变窗体大小 __________________________________________________________________________ Me.WindowState = FormWindowState.Maximized ‘让MDI窗体最大化显示出来 f5.MdiParent = Me f5.WindowState = FormWindowState.Normal ’显示你的form2窗体 ‘Normal按原来的大小显示出来并没有改变大小 __________________________________________________________________________ 上述代码只对最小化了的主窗体有作用(Me.WindowState = FormWindowState.Maximized ),对于主窗体里面的子窗体好像没反应呢。 __________________________________________________________________________ 下面的才是对子窗体的操作 f5.MdiParent = Me f5.WindowState = FormWindowState.Normal __________________________________________________________________________ 我当然知道了,就是说下面写跟没写是一样 __________________________________________________________________________

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...