吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1085|回复: 12
收起左侧

[求助] C#窗体透明度

  [复制链接]
lizf2019 发表于 2020-8-17 16:57
本帖最后由 lizf2019 于 2020-8-17 16:59 编辑

原始代码:
[C#] 纯文本查看 复制代码
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();
                }
            }
        }

俺想把它改成一直运行:
先由不透明透明
再由透明不透明
一直循环

求大佬解答

免费评分

参与人数 4吾爱币 +3 热心值 +4 收起 理由
锤锤 + 1 + 1 3楼正解
虎爷0724 + 1 + 1 热心回复!
kingaero + 1 热心回复!
读过书 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| lizf2019 发表于 2020-8-17 16:59
欢迎各位大佬发表高见
kuqideyanlei 发表于 2020-8-17 17:05
初见悲风 发表于 2020-8-17 17:05
我对这个 不是特别了解,不过,想要一直循环,是不是得用循环语句,建议用while
lwz2005 发表于 2020-8-17 17:08
个人推荐加一个while
loneho@qq.com 发表于 2020-8-17 17:15

回帖奖励 +1 CB吾爱币

使用全局变量记录当前透明度100,然后timer 改成100左右,每次-5透明度,2秒后即变成0,然后当透明度=0的时候,再改成每次+5透明度
fuhohua 发表于 2020-8-17 17:22
        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
                }
            }
        }
冰之子4336 发表于 2020-8-17 17:23

回帖奖励 +1 CB吾爱币

Task.Run(() =>
                {
                    timer1_Tick(null,null);
                });

wf2zky 发表于 2020-8-17 17:26

回帖奖励 +1 CB吾爱币

opacity小于等于0的时候不停止计时器,直接isForm1 再转成true
那就又开始从不透明转透明了
涛之雨 发表于 2020-8-17 18:00
开一个线程,循环呗。。。
和我那个跟随鼠标和碰撞移动原理
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 13:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表