zoukankan      html  css  js  c++  java
  • EyesBaby功能实现之窗口渐现效果

    窗口渐现效果主要是增强软件的用户体验。目前winform程序在Vista/Win7上已经自动具备了该功能,所以只有在XP等早期版本系统上才有勇武之地。

    说说具体实现吧:-)

    1.利用Timer控件控制窗体的透明度(Opacity)。


            
    /// <summary>
            
    /// 显示窗体
            
    /// </summary>
            private void ShowWin()
            {
                
    this.tsmiShowHide.Text = "隐藏";
                
    this.SetWindowState();
                
    this.Opacity = 0;
                
    // 打开窗口渐现效果
                Timer tStart = new Timer();
                tStart.Interval 
    = 100;
                tStart.Tick 
    += new EventHandler(tStart_Tick);
                tStart.Start();
            }

            
    /// <summary>
            
    /// 隐藏窗体
            
    /// </summary>
            private void HideWin()
            {
                
    this.tsmiShowHide.Text = "显示";
                
    // 关闭窗口渐现效果
                Timer tClose = new Timer();
                tClose.Interval 
    = 100;
                tClose.Tick 
    += new EventHandler(tClose_Tick);
                tClose.Start();
            }

            
    /// <summary>
            
    /// 关闭窗体渐现效果
            
    /// </summary>
            
    /// <param name="sender"></param>
            
    /// <param name="e"></param>
            void tClose_Tick(object sender, EventArgs e)
            {
                
    // 每一次执行透明度减少10%
                this.Opacity -= 0.1;
                
    if (this.Opacity <= 0)
                {
                    ((Timer)sender).Stop();
                }
            }
            
            
    /// <summary>
            
    /// 打开窗体渐现效果
            
    /// </summary>
            
    /// <param name="sender"></param>
            
    /// <param name="e"></param>
            void tStart_Tick(object sender, EventArgs e)
            {
                
    // 每一次执行透明度增加10%
                this.Opacity += 0.1;
                
    if (this.Opacity == 1)
                {
                    ((Timer)sender).Stop();
                    
    this.Focus();
                }
            }

    渐现效果用在EyesBaby上也是所谓小试牛刀吧。

    总结

    现在EyesBaby功能实现部分写到这,就到此告一小节了。前面写了一部分,其实技术含量并没有多少。本人技术水平一斑,写出来东西大部分还只能是一种自我记录的方式,并不能起到言传身授的境界,望各位海量!需要学习的地方很多,也有博友提了不少好的建议。比如自动更新部分。在此拜谢了!

    将来希望能多开发些对我们工作/生活有帮助的个人软件(本人信仰“技术改变生活”),还希望大家多多提供建议和技术帮助!

    源代码下载地址:http://eyesbaby.codeplex.com/

    安装版下载地址:https://files.cnblogs.com/yizhuqing/EyesBabySetup10.zip

    我的第一款实用工具-眼保程序(EyesBaby)

    EyesBaby1.0使用帮助文档

    EyesBaby功能实现之窗口拖拽与缩放功能

    EyesBaby功能实现之图片控件上添加字符

    EyesBaby功能实现之Windows前景色调节器

    EyesBaby功能实现之软件更新

    EyesBaby功能实现之窗口渐现效果

     欢迎加入EyesBaby再次开发小组

     EyesBaby需求反馈小组

  • 相关阅读:
    PowerDesigner如何设置字段为自增长
    Tab标签
    过滤数据集DataTable方法
    时间复杂度计算方法
    Oracle字符函数
    ASP.NET 应用程序生命周期概述
    在同一个DataSet中添加多个DataTable
    谈SQL SERVER数据库中的索引
    Abstract 与 Vitrual 用法
    活动图与流程图的区别
  • 原文地址:https://www.cnblogs.com/yizhuqing/p/1645974.html
Copyright © 2011-2022 走看看