我想把它縮短:This是我想在沒有點擊任何按鈕的情況下實現的。當我更改Form1_Load
或Form1_Shown
中的opactiy時,該應用程序將不會顯示給用戶,直到我的代碼完成其任務。
那代碼在顯示錶格後減少表格不透明度
for (int i = 0; i < 100; i++)
{
this.Opacity -= .05;
System.Threading.Thread.Sleep(50);
}
誰能告訴我如何archieve我的目標是什麼?
我想把它縮短:This是我想在沒有點擊任何按鈕的情況下實現的。當我更改Form1_Load
或Form1_Shown
中的opactiy時,該應用程序將不會顯示給用戶,直到我的代碼完成其任務。
那代碼在顯示錶格後減少表格不透明度
for (int i = 0; i < 100; i++)
{
this.Opacity -= .05;
System.Threading.Thread.Sleep(50);
}
誰能告訴我如何archieve我的目標是什麼?
private async void FadeIn(Form o, int interval = 80)
{
//Object is not fully invisible. Fade it in
while (o.Opacity < 1.0)
{
await Task.Delay(interval);
o.Opacity += 0.05;
}
o.Opacity = 1; //make fully visible
}
private async void FadeOut(Form o, int interval = 80)
{
//Object is fully visible. Fade it out
while (o.Opacity > 0.0)
{
await Task.Delay(interval);
o.Opacity -= 0.05;
}
o.Opacity = 0; //make fully invisible
}
這是我在Stackoverflow上找到的。使用這些方法Form1_Load。 這個問題我假設你有什麼你使用的同步方法,它必須完成之前的程序contineus下一段代碼。這就是爲什麼在加載代碼應用程序之前windows沒有顯示給你。當它關閉Better algorithm to fade a winform
你從[這裏]得到了答案(http://stackoverflow.com/questions/12497826/better-algorithm-to-fade-a-winform)。從其他帖子複製時請添加源代碼。 –
它的工作!非常感謝! – KommissarKong
嗯,不,那效果應用到閃屏,主窗口打開時不:從
代碼。例如,它的FormClosing事件。在99開始不透明,所以它不會閃爍。你首先需要一個啓動畫面。 –