当前位置: 首页 > news >正文

网站模板去哪下载超酷个人网站

网站模板去哪下载,超酷个人网站,网站单页站群,光纤网络是哪个公司的今天继续研究C#的WinForm的显示动画效果。 上次我们实现了无边框窗体的显示动画效果(见博文:基于C#的无边框窗体动画效果的完美解决方案 - 开源研究系列文章 ),这次介绍的是未在任务栏托盘中窗体的显示隐藏动画效果的实现代码。 1、 项目目录&#xff1b…

  今天继续研究C#的WinForm的显示动画效果。

  上次我们实现了无边框窗体的显示动画效果(见博文:基于C#的无边框窗体动画效果的完美解决方案 - 开源研究系列文章 ),这次介绍的是未在任务栏托盘中窗体的显示隐藏动画效果的实现代码。

  1、 项目目录;

  下面是项目目录,由基本的窗体和操作类组成。

      

  2、 代码介绍;

  代码比较简单,直接将窗体的最小化、最大化效果加入进去即可。

  1 namespace Lzhdim.Helper2 {3     using System.Runtime.InteropServices;4     using System;5     using System.Windows.Forms;6 7 8     /// <summary>9     /// 窗体状态10     /// </summary>11     internal enum ShowWindowState12     {13         /// <summary>14         /// 显示窗体15         /// </summary>16         Show,17         /// <summary>18         /// 隐藏窗体19         /// </summary>20         Hide,21         /// <summary>22         /// 最小化窗体23         /// </summary>24         Min,25         /// <summary>26         /// 最大化窗体27         /// </summary>28         Max,29         /// <summary>30         /// 直接调用窗体的显示31         /// </summary>32         DirectShow,33         /// <summary>34         /// 直接调用窗体的隐藏35         /// </summary>36         DirectHide,37         /// <summary>38         /// 窗体有运行实例时的显示39         /// </summary>40         RunningShow41     }42 43     /// <summary>44     /// 显示隐藏窗体状态操作类45     /// 46     /// 窗体的状态都通过此API进行处理47     /// </summary>48     internal static class ShowWindowHelper49     {50         [DllImport("User32.dll")]51         private static extern bool SetForegroundWindow(IntPtr hWnd);52         [DllImport("User32.dll")]53         private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);54 55         //API 常數定義56 57         private const int SW_HIDE = 0;58         private const int SW_NORMAL = 1;59         private const int SW_MAXIMIZE = 3;60         private const int SW_SHOWNOACTIVATE = 4;61         private const int SW_SHOW = 5;62         private const int SW_MINIMIZE = 6;63         private const int SW_RESTORE = 9;64         private const int SW_SHOWDEFAULT = 10;65 66         /// <summary>67         /// 设置窗体状态68         /// </summary>69         /// <param name="form">要设置的窗体</param>70         /// <param name="windowState">窗体状态</param>71         internal static void ShowWindow(Form form, ShowWindowState windowState)72         {73             switch (windowState)74             {75                 case ShowWindowState.Show:76                     form.Visible = true;77                     form.WindowState = System.Windows.Forms.FormWindowState.Normal;78                     form.ShowInTaskbar = true;79                     break;80                 case ShowWindowState.Hide:81                     //这里两个Visible是为了关闭时的动画效果82                     form.Visible = false;83                     form.WindowState = System.Windows.Forms.FormWindowState.Minimized;84                     form.ShowInTaskbar = false;85                     form.Visible = false;86                     break;87                 case ShowWindowState.Min:88                     form.Visible = true;89                     form.WindowState = System.Windows.Forms.FormWindowState.Minimized;90                     break;91                 case ShowWindowState.Max:92                     form.Visible = true;93                     form.WindowState = System.Windows.Forms.FormWindowState.Maximized;94                     break;95                 case ShowWindowState.DirectShow:96                     form.Show();97                     break;98                 case ShowWindowState.DirectHide:99                     form.Hide();
100                     break;
101                 case ShowWindowState.RunningShow:
102                     //保存窗体现在的状态
103                     FormWindowState formWindowState = form.WindowState;
104                     bool visible = form.Visible;
105 
106                     //下面显示窗体
107                     form.Visible = true;
108                     form.ShowInTaskbar = true;
109 
110                     if (visible)
111                     {
112                         //如果在状态栏显示状态,则直接还原
113                         switch (formWindowState)
114                         {
115                             case FormWindowState.Minimized:
116                                 //如果是最小化状态,则还原原来的状态,比如正常或者最大化
117                                 ShowWindowAsync(form.Handle, SW_RESTORE);
118                                 break;
119                         }
120                     }
121                     else
122                     {
123                         //如果是隐藏状态
124                         switch(formWindowState)
125                         {
126                             case FormWindowState.Maximized:
127                                 //原来是最大化的就最大化显示
128                                 ShowWindowAsync(form.Handle, SW_MAXIMIZE);
129                                 break;
130                             case FormWindowState.Minimized:
131                             case FormWindowState.Normal:
132                                 //如果是正常或者最小化则正常状态显示
133                                 ShowWindowAsync(form.Handle, SW_NORMAL);
134                                 break;
135                         }
136                     }
137                     //最后将窗体置于最前显示
138                     SetForegroundWindow(form.Handle);
139 
140                     break;
141             }
142         }
143     }
144 }
   3、 运行界面;

  因为没录制GIF,所以不提供界面了。

  4、 使用方法;

  直接将操作类放到项目里面,然后调用静态类方法即可。

 1 /// <summary>2         /// 隐藏窗体按钮事件3         /// </summary>4         /// <param name="sender"></param>5         /// <param name="e"></param>6         private void btnHide_Click(object sender, EventArgs e)7         {8             ShowWindowHelper.ShowWindow(this, ShowWindowState.Hide);9         }
10         
11         /// <summary>
12         /// 图标单击事件
13         /// </summary>
14         /// <param name="sender"></param>
15         /// <param name="e"></param>
16         private void NIShowWindow_MouseClick(object sender, MouseEventArgs e)
17         {
18             if(e.Button == MouseButtons.Left)
19             {
20                 ShowWindowHelper.ShowWindow(this, ShowWindowState.Show);
21             }
22         }
23         /// <summary>
24         /// 图标双击事件
25         /// </summary>
26         /// <param name="sender"></param>
27         /// <param name="e"></param>
28         private void NIShowWindow_MouseDoubleClick(object sender, MouseEventArgs e)
29         {
30             if (e.Button == MouseButtons.Left)
31             {
32                 //这里调用Hide程序会退出,所以直接调默认的Hide函数
33                 ShowWindowHelper.ShowWindow(this, ShowWindowState.DirectHide);
34             }
35         }

  5、 源码下载;

  这里提供源码例子下载:

       https://download.csdn.net/download/lzhdim/88171194

  上面是笔者整理的关于C#的窗体隐藏到托盘图标中的动画效果,搭配上次的无边框窗体的效果,更好的能够对窗体的效果进行显示。提供了源码下载及例子,能够直接进行代码复用即可,希望对同样问题的读者能够解决该问题。

http://www.yayakq.cn/news/596645/

相关文章:

  • 咸宁做网站公司访问国外网站用什么dns
  • 网站开发之美 pdf3合1网站建设价格
  • 惠州+网站建设公司叠石桥网站建设
  • 网站建设公司与前端wordpress 问答
  • 海东市网站建设做企业网站的第一步需要啥
  • 新冠咳嗽怎么办百度seo快速
  • 网站建设空间选择的重要性wordpress菜单设置图标
  • wordpress 网站为什么打不开哈尔滨市工程信息网
  • 齐齐哈尔铁峰建设局网站网站建设项目评审意见
  • 做个商城网站怎么做便宜wordpress悬浮刷新
  • 企业网站更新什么内容营销策划方案的写作方法
  • 淘宝客怎么在网站做推广网站建设的公司哪家便宜
  • 关于建设商城网站费用企业网站名称怎么写
  • 如何快速建站公司网站开发用什么软件
  • 国外 定制网站爱网站找不到了
  • 云南网站建设选天软诸暨城乡与建设局网站
  • 临沂seo网站管理wordpress后台打开超级慢
  • 网站诊断方法推荐10个网站
  • 济南旅游网站建设现状西安网站建设专业
  • 投注类网站怎么做自动软件小学微机作业做网站
  • 郑州网站建设到诺然学校网站建设用哪个系统
  • 网站的外部链接建设图片歙县电子商务网站建设
  • 杭州多语言网站建设房地产宣传推广方案
  • 建设银行企业银行网站打不开免费的ai作图软件
  • 网站常规后台教做宝宝衣服的网站
  • 昆明市网站建设公司wordpress评论不准设置网站
  • 网站被入侵别人是怎么做跳转的中国建设银行官网站企业网银下载
  • 网站管理后台打不开社区建站网站系统
  • 网站关键字怎么设置三大oa办公软件
  • 唐山做网站建设的公司wordpress显示文章图片