我找不到其他人遇到同样的问题,所以希望有人能有一些想法或能够向我指出另一个答案。
当通过按下表单上的按钮来运行函数时,另一个按钮应该变得可见。然而,即使按钮是函数中的第一个按钮,它也永远不会显示。该函数中的所有其他代码都可以完美运行。
这是代码:
private void trackbar_Change(object sender, EventArgs e)
{
button.Visible = true;
progressbar.Visible = true;
...
progressbar.Visible = false;
button.Visible = false;
}
进度条显示并工作正常,函数中的所有其他代码也工作正常,但按钮根本不显示。
如果我删除button.Visible = false;
从函数末尾开始,按钮确实会显示,但只有在所有其他代码执行完毕后才会显示。像这样:
private void trackbar_Change(object sender, EventArgs e)
{
button.Visible = true;
progressbar.Visible = true;
...
progressbar.Visible = false;
//button.Visible = false;
}
注释掉该行会导致按钮显示。现在,如果我在按钮行之后添加一个消息框,那么它也可以工作。
private void trackbar_Change(object sender, EventArgs e)
{
button.Visible = true;
MessageBox.Show("Button should be visible now");
progressbar.Visible = true;
...
progressbar.Visible = false;
button.Visible = false;
}
在按钮行之后添加消息框可以使按钮在正确的时间显示。
有谁知道为什么这个按钮会这样?