0

ウィンドウを閉じるのをインターセプトしようとしていますが、フォームアプリケーションで失敗して閉じるようです。基本的に、このプログラムは署名パッドでユーザーからの入力を待機している必要があり、誰かが署名を開始するとポップアップしますが、プログラムが閉じられないようにする必要があります。

これが失敗したように見える私が試したものです

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;
}
4

2 に答える 2

3

それがイベントForm1_FormClosingのハンドラーとしてフォームプロパティで指定されていることを確認してください。FormClosing

または、実際のメソッド自体をオーバーライドすることもできます。

    protected override void OnClosing(CancelEventArgs e)
    {
        e.Cancel = true;
        base.OnClosing(e);
    }
于 2011-03-30T18:34:08.777 に答える
0

問題は、ウィンドウを非表示にすることである可能性があります。
最小化するだけでうまくいくかもしれません。

于 2011-03-30T18:31:02.260 に答える