meekob

Minimize to Tray ด้วย VB.Net

เรตติ้ง
เขียนโดย Suwitcha Chandhorn เมื่อวันที่ 05 May 2008 ตอน 12:29

ถึงแม้ปรกติเราจะสามารถใช้ NotifyIcon Control ในการสร้าง Icon ใน Tray ของ Windows ได้โดยไม่จำเป็นต้องเขียนโค้ดเพิ่มเติมแต่อย่างใด แต่จะทำอย่างไรล่ะ ถึงจะสามารถซ่อนหน้าต่างหลักเมื่อเรากดปุ่ม Minimize ของฟอร์มนั้น มันทำอย่างนี้ครับ

  1. เมื่อกดปุ่ม Minimize จะเกิดอีเวนท์ Resize ขึ้น ให้เราดักดูว่า WindowState เป็น Minimized หรือไม่ ถ้าใช่ก็ให้ซ่อนฟอร์มซะ แล้วแสดง NotifyIcon ใน Tray เช่น

    ' เพิ่ม Private Property ในฟอร์มเพื่อให้จำ WindowState ล่าสุดไว้
    Private currentWindowState As FormWindowState

    จากนั้นใน Form.Resize ก็ใช้โค้ดตามนี้

    If Me.WindowState = FormWindowState.Minimized Then
        Me.Hide()
        MainNotifyIcon.Visible = True
    Else
        ' จำค่าปัจจุบันก่อนจะ Minimize ไว้
        currentWindowState = Me.WindowState
    End
  2. เมื่อจะ Restore Window สู่ขนาดเดิม ก็ให้ไปดักที่อีเวนท์ MouseDoubleClick ของ NotifyIcon แล้วดูว่าฟอร์มเรา Minimized ไว้หรือไม่ ถ้าใช่ก็ให้ Show และคืนค่า WindowState เดิมให้มันซะ ดังนี้

    If Me.WindowState = FormWindowState.Minimized Then
        MainNotifyIcon.Visible = False
        Me.Show()
        Me.WindowState = Me.currentWindowState
    End If

 

แค่นี้เองครับ

Filed under:
 

Minimize to Tray ???????????? VB.Net said:

Pingback from  Minimize to Tray ???????????? VB.Net

May 5, 2008 1:30 PM
 

H2O_Water said:

ขอบคุณมากค้าฟ สำหรับความรู้

May 14, 2008 10:24 AM
 

STEM said:

ก้อขอบคุนนะค่ะ  ความรู้ที่ได้มามีประโยชน์มากเลยค่ะ

June 9, 2008 1:52 PM
 

1234 said:

ขอบคุนนะค่ะ  

June 17, 2009 11:55 AM
 

DreamClown said:

Thank you...:)

January 8, 2010 5:22 PM

Leave a Comment

(required)  
(optional)
(required)  
Add