读书人

又一棘手.解决方案

发布时间: 2012-01-09 21:05:42 作者: rapoo

又一棘手.
一托程序,程序行,主窗口藏在有下角.小才示主窗口.怎理呢?
偶在Load事件中用this.Hide();不能藏,怎理呢?

[解决办法]
最小化窗体到任务栏
经常可以看到这样的程序,点了关闭按扭后程序并没有关闭,而是最小化到了系统拖盘处,就像网易泡泡,MSN之类的程序。实现这个其实很简单,捕捉窗体关闭时的消息就可以了。代码如下:
protected override void WndProc(ref Message m)
{
const int WM_SYSCOMMAND = 0x0112;
const int SC_CLOSE = 0xF060;
if (m.Msg == WM_SYSCOMMAND && (int) m.WParam == SC_CLOSE)
{
MessageBox.Show( "用户点了关闭按纽了 ");
return;
}
base.WndProc(ref m);
}
代码添加进窗体代码就可以
[解决办法]
1.设置窗体属性showinTask=false
2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标。
3.添加窗体最小化事件
private void Form1_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState==FormWindowState.Minimized)
{
this.Hide();
this.notifyIcon1.Visible=true;
}
}
4.添加点击图标事件

private void notifyIcon1_Click(object sender, EventArgs e)
{
this.Visible = true;

this.WindowState = FormWindowState.Normal;

this.notifyIcon1.Visible = false;
}
这样就可以了,已经通过程序验证,c#2005。

读书人网 >C#

热点推荐