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

2 ответа

Решение

Удостоверься что Form1_FormClosing указывается в свойствах формы как обработчик FormClosing событие.

Кроме того, вы можете переопределить сам метод.

    protected override void OnClosing(CancelEventArgs e)
    {
        e.Cancel = true;
        base.OnClosing(e);
    }

Проблема может быть в том, что вы прячете окно.
Возможно, это сработает, если вы просто минимизируете это.

Другие вопросы по тегам