C#中常用窗口特效的实现代码

 更新时间:2023年12月06日 09:18:31   作者:Csharp 小记  
这篇文章主要为大家详细介绍了C#中三个常用的窗口特效的实现,分别是淡入淡出、变大变小、缓升缓降,感兴趣的小伙伴可以跟随小编一起学习一下

前言

说到特效,就得谈"动"这个字,在Winform中想要动起来,大部分可以靠Timer来实现(你要说我靠循环也能实现一样的效果,我也无话可说),但基本上也就限制在一些比较基础的效果了。不过,也没关系,谁让这是Winform呢?

下面描述了三种窗口的效果。分别是淡入淡出、变大变小、缓升缓降。主要通过结合Timer与透明度、大小、以及位置等来实现。

开发环境:.NET Framework版本:4.8

开发工具:Visual Studio 2022

实现步骤

淡入淡出

public Form1()
        {
            InitializeComponent();
            Opacity = 0;
            timer1.Interval = 10;
            timer1.Start();
        }
   private void timer1_Tick(object sender, EventArgs e)
        {

            if (isShow)
            {
                if (Height < height)
                {
                    Height += 1;
                }
                else
                {
                    timer1.Stop();
                }
            }
            else
            {
                if (ClientSize.Height > 0)
                {
                    Height -= 1;
                }
                else
                {
                    timer1.Stop();
                    Close();
                }
            }
        }

变大变小

public Form2()
        {
            InitializeComponent();
            height = Height;

            Size = new Size(Width, 0);
            timer1.Interval = 10;
            timer1.Start();
        }
 
 private void timer1_Tick(object sender, EventArgs e)
        {

            if (isShow)
            {
                if (Height < height)
                {
                    Height += 1;
                }
                else
                {
                    timer1.Stop();
                }
            }
            else
            {
                if (ClientSize.Height > 0)
                {
                    Height -= 1;
                }
                else
                {
                    timer1.Stop();
                    Close();
                }
            }
        }

缓升缓降

  public Form3()
        {
            InitializeComponent();
            timer1.Interval = 10;
        }
        private void Form3_Load(object sender, EventArgs e)
        {
            Location = new Point(screenRect.Width - Width, screenRect.Height);
            timer1.Start();
        }
 private void timer1_Tick(object sender, EventArgs e)
        {
            if (isShow)
            {
                if (Location.Y > screenRect.Height-Height)
                {
                    Location = new Point(Location.X, Location.Y - 1);
                }
                else
                {
                    timer1.Stop();
                }
            }
            else
            {
                if (Location.Y < screenRect.Height )
                {
                    Location = new Point(Location.X, Location.Y + 1);
                }
                else
                {
                    timer1.Stop();
                    Close();
                }
            }

        }

实现效果

到此这篇关于C#中常用窗口特效的实现代码的文章就介绍到这了,更多相关C#窗口特效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于C#实现Windows服务的方法详解

    基于C#实现Windows服务的方法详解

    在实际应用过程中,有时候我们希望开发的程序,不需要界面,直接开机就可以长时间运行,这时候,我们可以考虑做成一个Windows服务。这篇文章跟大家介绍一下,如何基于C#实现Windows服务的创建、安装、启动、停止和卸载,需要的可以参考一下
    2022-09-09
  • C#学习笔记之飞行棋项目

    C#学习笔记之飞行棋项目

    这篇文章主要为大家详细介绍了C#控制台实现飞行棋项目,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • 使用C#发送带附件的电子邮件的方法的代码示例分析

    使用C#发送带附件的电子邮件的方法的代码示例分析

    这篇文章主要介绍了使用C#发送带附件的电子邮件的方法的代码示例分析,文中还提到了利用163的SMTP服务器发邮件的方法,需要的朋友可以参考下
    2016-02-02
  • C#集合之链表的用法

    C#集合之链表的用法

    这篇文章介绍了C#集合之链表的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C# DialogResult用法案例详解

    C# DialogResult用法案例详解

    这篇文章主要介绍了C# DialogResult用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C#读取QQ纯真IP数据库QQWry.Dat的代码

    C#读取QQ纯真IP数据库QQWry.Dat的代码

    QQ纯真IP库算是IP地址收集较为全的一个IP库,对于IP查询来说这个是不错的选择。下面是如何查询纯真IP库的一个类,使用C#代码。
    2007-03-03
  • C#中的时间显示格式(12小时制VS24小时制)

    C#中的时间显示格式(12小时制VS24小时制)

    这篇文章主要介绍了C#中的时间显示格式(12小时制VS24小时制),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • C# 实现Table的Merge,Copy和Clone

    C# 实现Table的Merge,Copy和Clone

    这篇文章主要介绍了C# 实现Table的Merge,Copy和Clone,帮助大家更好的利用c#处理文件,感兴趣的朋友可以了解下
    2020-12-12
  • 简介Winform中创建用户控件

    简介Winform中创建用户控件

    用户控件可以让开发人员对VS控件进行组装。下面我们来创建一个按钮的用户控件我们可以给它添加属性,并且添加相应鼠标移入、移出事件。
    2013-03-03
  • C#实现HTTP访问类HttpHelper的示例详解

    C#实现HTTP访问类HttpHelper的示例详解

    在项目开发过程中,我们经常会访问第三方接口,如我们需要接入的第三方接口是Web API,这时候我们就需要使用HttpHelper调用远程接口了。本文为大家介绍了C#实现HTTP访问类HttpHelper的示例代码,需要的可以参考一下
    2022-09-09

最新评论