gpt4 book ai didi

c# - 在启用桌面组合时隐藏表单时更新表单

转载 作者:行者123 更新时间:2023-11-30 18:40:22 25 4
gpt4 key购买 nike

我正在尝试更改隐藏时的表单外观。然后使其可见。

private void HideLabelAndShowForm()
{
label1.Hide();
Invalidate(true);
Update();
// thinking we now have no label on the form?
Show();
// no! the label is still visible!
// and gets hidden after a moment
}

为什么只在之前的内容(带有可见标签)显示片刻后才重绘表单?任何解决方法?

更新

  1. 只有在启用桌面合成时才会发生这种情况(我使用的是 Windows 7)。
  2. 删除 Invalidate 和 Update 没有帮助
  3. 方法从 UI 线程调用
  4. 在任何地方添加 Thread.Sleep 和 Application.DoEvents 都没有帮助
  5. 在延迟后从单独的线程(使用 Invoke)调用 Show 没有帮助

最佳答案

尝试使用 Application.DoEvents , 但是 be careful :

private void HideLabelAndShowForm() {
label1.Hide();
Application.DoEvents();
Show();
}

关于c# - 在启用桌面组合时隐藏表单时更新表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8382993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com