我需要我的表单在关闭后隐藏,因为我不想重新构建它所以我这样做。
private void dLCD_FormClosing(object sender, FormClosingEventArgs e)
{
this.Hide();
e.Cancel = true;
}
要重新启动窗口,我使用.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();
}