【发布时间】:2015-03-06 09:17:00
【问题描述】:
我想我有一个非常简单的问题......我无法找到答案。我正在尝试为位于 (0,0) 处、宽度为 150 的无边框 WinForm 添加自动隐藏功能。我有以下代码:
private int dx;
private void autohide()
{
for (dx = 0; dx > -150; dx--)
{
this.Width = dx;
Thread.Sleep(2);
}
}
即使在使用Thread.Sleep(x) 之后,表单也只是突然变为最终宽度,而不会产生/产生任何延迟效果。我正在尝试对其施加一些影响。
请帮忙...
【问题讨论】:
-
你应该阅读
Thread.Sleep的文档。 -
睡眠 2 毫秒不会让您有足够长的时间看到发生的事情。我很好奇你为什么要这样做,而不仅仅是
Hide表单虽然 -
这可能是因为您在主线程中执行此操作,即更新表单的同一线程。这是 WinForms 吗? WPF?
-
Application.DoEvents(呃)...?
标签: c# timer thread-sleep