首页 > 解决方案 > 即使在按下按钮 X 后如何显示 c#?

问题描述

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

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

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

我似乎找不到一个好的解决方案。

标签: c#eventsshow

解决方案


我建议您改用 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();
    }

推荐阅读