如何在按下按钮 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();
}
我需要在关闭后隐藏我的表单,因为我不想重新构造它,所以我这样做了。
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();
}