读书人

怎样阻止用户单击窗体的X关闭而小弟

发布时间: 2011-12-13 21:22:18 作者: rapoo

怎样阻止用户单击窗体的X关闭,而我用代码this.Close()可以关闭?
怎样阻止用户单击窗体的X关闭,而我用代码this.Close()可以关闭?

我用以下代码发现了这个问题。
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
MessageBox.Show( "请使用关闭按钮退出 ");
}
}

private void button1_Click(object sender, EventArgs e)
{
this.Close();
}

[解决办法]
直接不然让X显示
使用空白窗体
[解决办法]
声明一个变量:boolean UserClose=false;
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
if (!UserClose)
{
e.Cancel = true;
MessageBox.Show( "请使用关闭按钮退出 ");
}
}

private void button1_Click(object sender, EventArgs e)
{
UserClose=true;
this.Close();
}

[解决办法]
过虑消息。
private const int SC_CLOSE = 61536;
protected override void WndProc(ref Message m)
{
if (m.WParam.ToInt32() == SC_CLOSE)

//用户单击窗体的X关闭时

else
base.WndProc(ref m);
}

读书人网 >C#

热点推荐