เรตติ้ง
เขียนโดย
Suwitcha Chandhorn
เมื่อวันที่
05 May 2008 ตอน 12:29
ถึงแม้ปรกติเราจะสามารถใช้ NotifyIcon Control ในการสร้าง Icon ใน Tray ของ Windows ได้โดยไม่จำเป็นต้องเขียนโค้ดเพิ่มเติมแต่อย่างใด แต่จะทำอย่างไรล่ะ ถึงจะสามารถซ่อนหน้าต่างหลักเมื่อเรากดปุ่ม Minimize ของฟอร์มนั้น มันทำอย่างนี้ครับ
- เมื่อกดปุ่ม 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
- เมื่อจะ Restore Window สู่ขนาดเดิม ก็ให้ไปดักที่อีเวนท์ MouseDoubleClick ของ NotifyIcon แล้วดูว่าฟอร์มเรา Minimized ไว้หรือไม่ ถ้าใช่ก็ให้ Show และคืนค่า WindowState เดิมให้มันซะ ดังนี้
If Me.WindowState = FormWindowState.Minimized Then
MainNotifyIcon.Visible = False
Me.Show()
Me.WindowState = Me.currentWindowState
End If
แค่นี้เองครับ