C#隐藏窗口而不是关闭
问题描述:
我试图拦截关闭窗口,但它似乎失败并关闭窗体应用程序。从本质上讲,这个程序应该等待用户在签名板上的输入,当有人开始签名时它会弹出,但我需要阻止程序关闭。C#隐藏窗口而不是关闭
这里是我试过,似乎没有
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//reset hardware
e.Cancel = true;
sigPlusNET1.LCDRefresh(0, 0, 0, 240, 64);
sigPlusNET1.LCDSetWindow(0, 0, 240, 64);
sigPlusNET1.SetSigWindow(1, 0, 0, 240, 64);
sigPlusNET1.KeyPadClearHotSpotList();
sigPlusNET1.SetLCDCaptureMode(1);
sigPlusNET1.SetTabletState(0);
this.Hide();
}
什么想法?
编辑:使用此代码,应用程序正常关闭并且不会隐藏。
下面是工作得很好部分:
// Ok Button
private void cmdClose_Click(object sender, EventArgs e)
{
//cmdSaveImage_Click(sender, e);
this.Visible = false;
sigPlusNET1.KeyPadClearHotSpotList();
sigPlusNET1.ClearTablet();
sigPlusNET1.KeyPadAddHotSpot(0, 1, 0, 0, 1000, 1000);
progTimer.Enabled = true;
}
答
确保在表单属性中指定Form1_FormClosing
作为FormClosing
事件的处理程序。
或者,您可以覆盖实际的方法本身。
protected override void OnClosing(CancelEventArgs e)
{
e.Cancel = true;
base.OnClosing(e);
}
+0
工作正常! protected override void OnClosing(CancelEventArgs e) e.Cancel = true; this.visable = false; (e); } – Jeff 2011-03-30 18:37:07
它究竟如何失败?无论如何应用程序都关闭了吗? – 2011-03-30 18:29:09
@Justin Niessner是的,表单刚刚关闭,似乎忽略了它。 – Jeff 2011-03-30 18:30:33
只是要知道:隐藏你的意思是最小化...我是对的? – digEmAll 2011-03-30 18:31:47