C#移动表单时淡入和淡出透明度

时间:2011-07-04 04:56:12

标签: c# transparency fadein fadeout

我有一些代码可以在移动时使表单部分透明,但我想知道当我开始移动并停止移动表单时是否可以添加淡入和淡出效果。

修改

我用来为表单添加透明度的代码是:

        bool canMove = false;

    private void Form1_Load(object sender, EventArgs e)
    {
        canMove = true;
    }

    private void Form1_Move(object sender, EventArgs e)
    {
        if (canMove)
        {
            this.Opacity = 0.7;
        }
    }

    private void Form1_ResizeEnd(object sender, EventArgs e)
    {
        this.Opacity = 1;
    }

2 个答案:

答案 0 :(得分:0)

您可以使用Timer控件,然后可以在表单开始移动时启动计时器,并将表单的transparency设置为某个值,并将tick设置为{ {1}},将Timer设为transparency,并将某个值设为decrease。如果您希望在表单停止移动时具有淡入淡出淡出效果,则可以在表单移动时执行相同操作。

答案 1 :(得分:0)

您应该使用Timer控件,在计时器的tick事件中设置不透明度。直到表单停止移动(定义类似isMoving的变量并根据表单的状态将其设置为true / false)。

您可以在my article中找到关于衰落标签的计时器刻度事件中的不透明度设置示例。使用谷歌翻译阅读它。

希望这有帮助。