效果演示 ( 注:本案例用的是qq的图标 )
两个** icon 格式 的图片 (一个表示在线,一个表示离线)**,用来作为程序托盘的图标
第一步:将 NotifyIcon 控件,拖到主窗体中,并在窗体中添加两个按钮(在线、离线)
private void Form1_Load(object sender, EventArgs e)
{
// 初始化
this.notifyIcon1.Icon = new Icon(@"D:\\c#workspace\\练习demo\\托盘程序实现\\icon\\qq彩色.ico");
this.notifyIcon1.Visible = true; //显示图标
this.notifyIcon1.Text = "在线"; // 鼠标悬浮图标上时 提示文案
}
第四步:给主窗体添加一个 FormCloing 事件(表示关闭程序时可进入托盘)
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show("是否退出?选否,最小化到托盘", "操作提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
this.Dispose();
Application.Exit();
}
else
{
e.Cancel = true;
this.WindowState = FormWindowState.Minimized;
this.Visible = false;
this.notifyIcon1.Visible = true;
}
}
第五步:给托盘图标添加一个鼠标单击事件,程序托盘后用来打开程序界面
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
// 单击左键,打开程序
if (e.Button == MouseButtons.Left)
{
this.Show();
this.Focus();
this.WindowState = FormWindowState.Normal;
}
}
private void button1_Click(object sender, EventArgs e)
{
this.notifyIcon1.Icon = new Icon(@"D:\\c#workspace\\练习demo\\托盘程序实现\\icon\\qq彩色.ico");
this.notifyIcon1.Text = "在线";
}
private void button2_Click(object sender, EventArgs e)
{
this.notifyIcon1.Icon = new Icon(@"D:\\c#workspace\\练习demo\\托盘程序实现\\icon\\qq黑白色.ico");
this.notifyIcon1.Text = "离线";
}
完成以上步骤,托盘程序即可正常运行!!!!
最后注意,托盘的图标必须是 icon 格式的图片!!!
全部0条评论
快来发表一下你的评论吧 !