C#隐藏窗口而不是关闭

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; 
} 
+0

它究竟如何失败?无论如何应用程序都关闭了吗? – 2011-03-30 18:29:09

+0

@Justin Niessner是的,表单刚刚关闭,似乎忽略了它。 – Jeff 2011-03-30 18:30:33

+0

只是要知道:隐藏你的意思是最小化...我是对的? – digEmAll 2011-03-30 18:31:47

确保在表单属性中指定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

的问题可能是你hide the window
也许它会工作,如果你只是将其最小化。

+0

我在其他地方隐藏窗口,完全没有任何问题。 – Jeff 2011-03-30 18:32:44

+0

只要它没有关闭,隐藏表单也可以。 – Karsten 2011-03-30 18:39:49