zoukankan      html  css  js  c++  java
  • C#窗体实现淡入淡出效果

       以下是TransForm.cs源码:


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    namespace TransForm
    {
        
    public partial class Form1 : Form
        {
            
    public Form1()
            {
                InitializeComponent();
                timer1.Enabled 
    = false;
                inspeed 
    = 10;
                outspeed 
    = 10;
            }

            
    private System.Windows.Forms.Timer timer1;
            
    public System.Windows.Forms.Button button1;


            
    #region Windows 窗体设计器生成的代码

            
    /// <summary>
            
    /// 设计器支持所需的方法 - 不要
            
    /// 使用代码编辑器修改此方法的内容。
            
    /// </summary>
            private void InitializeComponent()
            {
                
    this.components = new System.ComponentModel.Container();
                
    this.timer1 = new System.Windows.Forms.Timer(this.components);
                
    this.button1 = new System.Windows.Forms.Button();
                
    this.SuspendLayout();
                
    // 
                
    // timer1
                
    // 
                this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
                
    // 
                
    // button1
                
    // 
                this.button1.Location = new System.Drawing.Point(342205);
                
    this.button1.Name = "button1";
                
    this.button1.Size = new System.Drawing.Size(6223);
                
    this.button1.TabIndex = 0;
                
    this.button1.Text = "关闭";
                
    this.button1.UseVisualStyleBackColor = true;
                
    this.button1.Click += new System.EventHandler(this.button1_Click);
                
    // 
                
    // Form1
                
    // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
                
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                
    this.ClientSize = new System.Drawing.Size(416240);
                
    this.ControlBox = false;
                
    this.Controls.Add(this.button1);
                
    this.Name = "Form1";
                
    this.Text = "Transform";
                
    this.Load += new System.EventHandler(this.Form1_Load);
                
    this.ResumeLayout(false);

            }

            
    #endregion

            
    private int state;//淡入\淡出状态

            
    private double inspeed;
            
    private double outspeed;

            
    public double InSpeed //淡入速度属性(0---100)
            {
                
    get
                {
                    
    return inspeed;
                }
                
    set
                {
                    inspeed 
    = value;
                }
            }

            
    public double OutSpeed //淡出速度属性(0---100)
            {
                
    get
                {
                    
    return outspeed;
                }
                
    set
                {
                    outspeed 
    = value;
                }
            }

            
    private void Form1_Load(object sender, EventArgs e)
            {
                state 
    = 0;
                timer1.Enabled 
    = true;
                
    this.Opacity = 0;
            }

            
    private void timer1_Tick(object sender, EventArgs e)
            {
                
    if (state >= 0)
                {
                    
    this.Opacity += inspeed/100 ;
                    
    if (this.Opacity == 1)
                    {
                        timer1.Enabled 
    = false;
                    }
                }
                
    else if (state < 0)
                {
                    
    this.Opacity -= outspeed/100 ;
                    
    if (this.Opacity == 0)
                    {
                        
    this.Close();
                        timer1.Enabled 
    = false;
                    }
                }
            }

            
    public void FormClose()//窗体关闭时,调用此函数实现淡出效果
            {
                state 
    = -1;
                timer1.Enabled 
    = true;
            }

            
    private void button1_Click(object sender, EventArgs e)
            {
                FormClose();
            }


        }
    }

    工程类型:Windows用户控件。

    工程名称:TransForm。

    说明:下载TransForm.dll,令其他的新增窗体继承自此dll文件即可实现C#的可视化继承。

  • 相关阅读:
    第十三周课程总结
    第十二周课程总结
    第十一周课程总结
    C语言||作业01
    C语言寒假大作战03
    C语言寒假大作战4
    C语言寒假大作战02
    C语言寒假大作战01
    C语言I作业12—学期总结
    第一周作业
  • 原文地址:https://www.cnblogs.com/kenkao/p/1401717.html
Copyright © 2011-2022 走看看