点击关闭按钮时缩小到系统任务栏
下面的代码设置窗体的关闭按钮事件,当点击标题栏中的“X”时,程序缩到任务栏上:首先添加一个NotifyIcon控件,参考如下属性代码:
窗体Form1的Closing事件:
this.Closing += new System.ComponentModel.CancelEventHandler(this.Form1_Closing);


private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
HideSToolStripMenuItem_Click(sender,e);
e.Cancel = true;
}


private void HideSToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
ntiSysTray.Visible = true;
fullViewToolStripMenuItem.Enabled = false;
contextMenuStrip1.Items.Add("退出(&X)",null,new EventHandler(exitPlayer));

}

值得注意的是,必须用System.ComponentModel.CancelEventArgs来声明参数 e, 并用 e.Cancel 值是否为真来确定下一步的执行。这里没有弹击对话框提示用户是否要真的退出。因为是个播放器,当用户点击“X”时,程序自动缩小到系统任务栏中,并更新NotifyIcon的Text值为当前正在播放的状态和音乐标题。
private System.Windows.Forms.NotifyIcon ntiSysTray;
//
// ntiSysTray
//
this.ntiSysTray.ContextMenuStrip = this.contextMenuStrip1;
this.ntiSysTray.Icon = ((System.Drawing.Icon)(resources.GetObject("ntiSysTray.Icon")));
this.ntiSysTray.Text = "JarulyPlayer";
this.ntiSysTray.DoubleClick += new System.EventHandler(this.ntiSysTray_DoubleClick);
窗体Form1的Closing事件:
this.Closing += new System.ComponentModel.CancelEventHandler(this.Form1_Closing);

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
HideSToolStripMenuItem_Click(sender,e);
e.Cancel = true;
}

private void HideSToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
ntiSysTray.Visible = true;
fullViewToolStripMenuItem.Enabled = false;
contextMenuStrip1.Items.Add("退出(&X)",null,new EventHandler(exitPlayer));
}
值得注意的是,必须用System.ComponentModel.CancelEventArgs来声明参数 e, 并用 e.Cancel 值是否为真来确定下一步的执行。这里没有弹击对话框提示用户是否要真的退出。因为是个播放器,当用户点击“X”时,程序自动缩小到系统任务栏中,并更新NotifyIcon的Text值为当前正在播放的状态和音乐标题。


浙公网安备 33010602011771号