C#窗体透明度
本帖最后由 lizf2019 于 2020-8-17 16:59 编辑原始代码:
private bool isForm1 = true;//设置用于指示淡入淡出变化方向的变量
private void timer1_Tick(object sender, EventArgs e)
{
if (isForm1)
{
this.Opacity += 0.02; //由不透明变成透明
if (this.Opacity >= 1) //当完全不透明时再由不透明变成透明
{
isForm1 = false;
}
}
else
{
this.Opacity -= 0.02; //由透明转换为不透明
if (this.Opacity <= 0) //当完全透明时停止计时器,并退出欢迎界面
{
this.timer1.Stop();
this.Close();
}
}
}
俺想把它改成一直运行:
先由不透明转透明
再由透明转不透明,
一直循环
求大佬解答 欢迎各位大佬发表高见{:301_997:} 加一个while循环呗 我对这个 不是特别了解,不过,想要一直循环,是不是得用循环语句,建议用while 个人推荐加一个while 使用全局变量记录当前透明度100,然后timer 改成100左右,每次-5透明度,2秒后即变成0,然后当透明度=0的时候,再改成每次+5透明度 private bool isForm1 = true;//设置用于指示淡入淡出变化方向的变量
private void timer1_Tick(object sender, EventArgs e)
{
if (isForm1)
{
this.Opacity += 0.02; //由不透明转为透明
if (this.Opacity >= 1) //当完全不透明时再由不透明转为透明
{
isForm1 = false;
}
}
else
{
this.Opacity -= 0.02; //由透明转换为不透明
if (this.Opacity <= 0) //当完全透明时转为不透明
{
isForm1 = true; //当完全透明时 isForm1 = true
}
}
} Task.Run(() =>
{
timer1_Tick(null,null);
});
{:301_997:} opacity小于等于0的时候不停止计时器,直接isForm1 再转成true
那就又开始从不透明转透明了 开一个线程,循环呗。。。
和我那个跟随鼠标和碰撞移动原理
页:
[1]
2