我想要做的就是顯示窗體的100不透明度,然後X時間開始褪色,直到0.0不透明度,我有算法,但我不知道在哪裏實現它,就好像我使用它在Form_Load中已經顯示出最終的不透明度,以及InitializeComponent();C#窗體逐漸褪色
this.Opacity = 1.0;
for (float i = 1.0f; i >= 0.0f; i -= 0.1f)
{
this.Opacity = i;
Thread.Sleep(150);
}
我想要做的就是顯示窗體的100不透明度,然後X時間開始褪色,直到0.0不透明度,我有算法,但我不知道在哪裏實現它,就好像我使用它在Form_Load中已經顯示出最終的不透明度,以及InitializeComponent();C#窗體逐漸褪色
this.Opacity = 1.0;
for (float i = 1.0f; i >= 0.0f; i -= 0.1f)
{
this.Opacity = i;
Thread.Sleep(150);
}
使用Shown Event,如果你希望它發生一次的形式獲得焦點,使用Activated Event時間的形式加載後只發生一次,或者。
在Form1.cs:
private void Form1_Shown(object sender, EventArgs e)
{
this.Opacity = 1.0;
for (float i = 1.0f; i >= 0.0f; i -= 0.1f)
{
this.Opacity = i;
Thread.Sleep(150);
}
}
在Form1.Designer.cs:
this.Shown += new System.EventHandler(this.Form1_Shown);
如果你想使窗體不可見的,控制保持可見,您可以使用TransparencyKey屬性:
private void Form1_Shown(object sender, EventArgs e)
{
// Choose some obscure background that no other controls will have
this.BackColor = Color.Red;
this.TransparencyKey = this.BackColor;
}
有些奇怪的原因,當它是淡出文字具有透明背景,就像我可以通過圖像看到的一樣,並且沒有任何文字 –
這就是不透明度所做的事情......您希望它做什麼? –
我更新了一個使表單透明但不是控件的例子。不知道是否有辦法逐步做到這一點,但... –
考慮改用WPF; WinForms並不是真的爲這樣的事情... – BradleyDotNET
我會避免睡覺。 –
睡覺只是我試圖在做功能之前使窗體顯示 –