
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
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
__________________________________________________________________________
我當然知道了,就是說下面寫跟沒寫是一樣
__________________________________________________________________________