【发布时间】:2014-09-11 08:41:02
【问题描述】:
我正在尝试制作一个简单的侧边栏,它可以从桌面左侧滑入和滑出。这是我目前的代码,但它实际上不起作用,我担心它可能效率低下。
private void fadeIn()
{
if (this.Width == 1)
while (this.Size.Width < 36)
{
this.Size = new Size(this.Size.Width + 1, Screen.PrimaryScreen.Bounds.Width - this.Width);
System.Threading.Thread.Sleep(2);
this.Invalidate();
Application.DoEvents();
}
}
private void fadeOut()
{
if (this.Width == 36)
while (this.Size.Width > 1)
{
this.Size = new Size(this.Size.Width - 1, Screen.PrimaryScreen.Bounds.Width - this.Width);
System.Threading.Thread.Sleep(2);
this.Invalidate();
Application.DoEvents();
}
}
希望有人可以帮助我解决这个问题。应该很简单。
【问题讨论】:
-
这是一种糟糕的做法。尝试在计时器中执行此操作。你不应该像那样阻塞 ui 线程(或者使用 DoEvents)。