如何让WindowsForm缩小到系统匣过程详解

所属分类: 操作系统 / 其它相关 阅读数: 108
收藏 0 赞 0 分享

如何让windowsForm能像MSN一样缩小后会跑到右下方的系统匣内,

只要利用NotifyIcon就可以做到相同的功能,MSDN NotifyIcon组件说明

首先先开启一个windowsForm项目,在工具栏将NotifyIcon拉到windowsForm上。

接着先为NotifyIcon指定Icon和Text,就是在系统匣会出现的小图和鼠标移过去时出现的文字。

执行结果

如果要在窗口缩小时,只显示在系统匣显示,

反之则变成只显示在工作列,就必须要在Form的SizeChanged事件做控制:

将NotifyIcon 的Visible默认为false

 private void Form1_SizeChanged(object sender, EventArgs e)
    {
      bool isMin = this.WindowState == FormWindowState.Minimized;//窗口是否为最小化
      this.notifyIcon1.Visible = isMin;//是否显示在系统匣
      this.ShowInTaskbar = !isMin;//是否显示在工作列
      if (isMin)
        this.Hide();//隐藏主窗口
    }

这样如果把窗口缩小后,会没办法再叫回来,但可以利用NotifyIcon的MouseDoubleClick事件,

让鼠标左键点选系统匣图示两下就恢复正常窗口。

    private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
    {
      if (e.Button == MouseButtons.Left)
      {
        this.Show();
        this.WindowState = FormWindowState.Normal;
      } 
    }

接着还可以为NotifyIcon加ContextMenuStrip,从工具栏中拉一个ContextMenuStrip到设计窗口,并设计一些选项进去,

执行结果~

NotifyIcon还可以加上气球提示效果,假设在窗口缩小的时候可跳出一个气球提示告知使用者~

Icon

在之前隐藏主窗口的地方再加一行CODE~

if (isMin)
      {
        this.Hide();//隐藏主窗口
        this.notifyIcon1.ShowBalloonTip(2000);//气球提示2秒钟
      }

执行结果~

嗯…杯具完了~~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

硬盘如何分区的方法

硬盘如何分区的方法
收藏 0 赞 0 分享

微软内部泄露的 XP的KEY和无限次激活码

微软内部泄露的 XP的KEY和无限次激活码
收藏 0 赞 0 分享

制作纯净版的ghost系统的注意事项

制作纯净版的ghost系统的注意事项
收藏 0 赞 0 分享

IE奥秘——添加新菜单项(推荐)

IE奥秘——添加新菜单项(推荐)
收藏 0 赞 0 分享

XP系统优化和安全限制 IE相关修改方法与注册表文件第1/2页

XP系统优化和安全限制 IE相关修改方法与注册表文件
收藏 0 赞 0 分享

XP系统优化和安全限制修改集合附注册表文件下载

XP系统优化和安全限制修改集合附注册表文件下载
收藏 0 赞 0 分享

Windows下修改Bios,安装惠普 HP OEM XP [图文教程]

Windows下修改Bios,安装惠普 HP OEM XP [图文教程]
收藏 0 赞 0 分享

Windows 2000/XP 下巧拒强行关机的方法

Windows 2000/XP 下巧拒强行关机的方法
收藏 0 赞 0 分享

好人共享的一个万能Ghost系统制作教程附相关软件下载第1/3页

好人共享的一个万能Ghost系统制作教程附相关软件下载
收藏 0 赞 0 分享

无引导设备No boot device available 常见解决方法 原创

一般是启动硬盘有问题,或启动文件损坏,可以先用光盘启动看能否启动,以排除其它硬件问题,即确定是硬盘问题,如果cmos禁止了硬盘启动也可能出现这个问题,可以解决
收藏 0 赞 0 分享
查看更多