|
Windows Forms กับ System Tray Icon การทำ Application ให้ซ่อนจาก Taskbar (VB.Net,C#) |
Windows Forms กับ System Tray Icon การทำ Application ให้ซ่อนจาก Taskbar (VB.Net,C#)ในหลายๆ Application เราจะเห็นว่าเมื่อมีการเปิดโปรแกรมขึ้นมา และย่อโปรแกรม จะเห็นว่า Icon บน Taskbar ที่เป็น Tab จะถูกย่อไปเก็บลง Tray Icon (มุมเล็กๆ ตรงล่างขวา) เราจะเรียกตำแหน่งตรงนี้ว่า Tray Icon ซึ่งโปรแกรมที่ซ่อนอยู่ อาจจะกำลังทำงานอยู่ หรือ พร้อมทำงานตลอดเวลา ขึ้นอยู่ว่าหน้าที่ของมันมีไว้ทำอะไร และ บทความนี้จะเป็นเทคนิคการเขียน Windows Form Application ให้สามารถซ่อน Icon ไปอยู่ที่ Tray Icon แบบง่ายๆ โดยจะยกตัวอย่างการ ย่อ (Hide) และการ แสดง (Show) รวมทั้งการทำเมนู Exit (ออกจากโปรแกรม)
Windows Form Application and System Tray Icon
ในตัวอย่างนี้จะใช้ Control อยู่ประมาณ 2-3 ตัว เช่น ContextMenuStrip และ NotifyIcon ซึ่งตัวอย่างมีทั้งของ VB.Net และ C#
เริ่มต้นด้วยการสร้าง Project ขึ้นมาใหม่บน Visual Studio
ออกแบบ Form ง่ายๆ และสร้าง Label ดังรูป
กำหนด Property ของ Form โดยกำหนด MaximizeBox = False, StartPosition = CenterScreen
สร้าง Control ของ ContextMenuStrip และสร้าง Item : Show , Exit
สร้าง Event Click (ด้วยการดับเบิ้ลคลิกที่เมนู) เราจะได้ Event Click ของ Show และ Exit
สร้าง Control ของ NotifyIcon ด้วยการลากมาไว้บน Form
กำหนด Property ของ NotifyIcon ด้วยการเลือก ContextMenuStrip และ Icon เพื่อความสวยงาม
จากนั้นไปที่ Form เลือกสร้าง Event ว่า Move
เราจะได้ Event ของ Move
คลิกที NotifyIcon ที่ได้สร้างไว้ก่อนหน้านี้และสร้าง Event ว่า MouseDoubleClick
จากนั้นให้เขียน Code แต่ล่ะ Event ดังนี้
Code (C#)
private void showToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Show();
this.WindowState = FormWindowState.Normal;
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void Form1_Move(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Hide();
this.notifyIcon1.ShowBalloonTip(100, "Notify Message", "Please click for see more detail..", ToolTipIcon.Info);
}
}
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
this.Show();
this.WindowState = FormWindowState.Normal;
}
ทดสอบการทำงาน
เมื่อเปิดโปรแกรมและกดที่ปุ่ม Minimize หรือ ย่อหน้าจอ
โปรแกรมจะถูกย่อมาเก็บไว้ที่ Tray Icon และ แสดง Message ที่เรากำหนดไว้
เราสามารถดับเบิ้ลคลิกที่ Icon เพื่อเปิด
หรือคลิกขวาที่ Icon จะมีเมนู Show และ Exit ให้เลือก
เมื่อคลิกที่ Show ก็จะแสดงโปรแกรมขึ้นมา และคลิก Exit ก็จะออกจากโปรแกรม
Code (VB.NET)
Private Sub showToolStripMenuItem_Click(sender As Object, e As EventArgs)
Me.Show()
Me.WindowState = FormWindowState.Normal
End Sub
Private Sub exitToolStripMenuItem_Click(sender As Object, e As EventArgs)
Application.Exit()
End Sub
Private Sub Form1_Move(sender As Object, e As EventArgs)
If Me.WindowState = FormWindowState.Minimized Then
Me.Hide()
Me.notifyIcon1.ShowBalloonTip(100, "Notify Message", "Please click for see more detail..", ToolTipIcon.Info)
End If
End Sub
Private Sub notifyIcon1_MouseDoubleClick(sender As Object, e As MouseEventArgs)
Me.Show()
Me.WindowState = FormWindowState.Normal
End Sub
|
|
|
|
|
|
|
|
By : |
TC Admin
|
|
Article : |
บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ |
|
Score Rating : |
|
|
Create Date : |
2017-04-18 |
|
Download : |
No files |
|
Sponsored Links |
|
|
|
|
|
|