如何在按下按钮 X 后显示 c#?

how to get c# shown even after button X was hit?

我需要在关闭后隐藏我的表单,因为我不想重新构造它,所以我这样做了。

 private void dLCD_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.Hide();
            e.Cancel = true; 
        }

为了恢复我的 window,我使用 .show()。虽然,显示不是第一次调用。我似乎找不到调用 .show() 后会触发的任何事件。我最好的猜测是激活事件可以解决这个问题,但它什么也没做。我考虑过使用一个标志和类似 getFocus 的东西,但它也没有在 .show()

上调用

我好像找不到好的解决办法。

我建议您改用 Form.VisibleChanged 事件。每次表单的可见性发生变化时都会触发该事件。因此,您需要有一个标志来确定何时要执行启动代码(您在显示的事件中实际拥有的代码)。

让您了解事件处理程序的示例:

 private void Form1_VisibleChanged(object sender, EventArgs e)
 {
            if (_isClosing)
            {

            }
            else
            {
                // Code when form is shown
            }

            _isClosing = false;
    }

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
            _isClosing = true;
            e.Cancel = true;
            Hide();
    }