我想要做的就是显示具有 100 不透明度的表单,然后在 X 时间后它开始淡入淡出直到 0.0 不透明度,我有算法,但我不知道在哪里实现它,就像我在 Form_Load 中使用它一样,表单已经显示加上最终的不透明度,以及在 InitializeComponent() 之后;
this.Opacity = 1.0;
for (float i = 1.0f; i >= 0.0f; i -= 0.1f)
{
this.Opacity = i;
Thread.Sleep(150);
}
使用Shown Event,它只在 Form 加载后发生一次,或者,如果您希望它在每次获得 Focus 时发生,请使用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;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句