让WindowsForm缩小到系统匣
让WindowsForm缩小到系统匣 如何让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的ContextMenuStrip设定成刚刚拉出来的ContextMenuStrip。
执行结果~
NotifyIcon还可以加上气球提示效果,假设在窗口缩小的时候可跳出一个气球提示告知使用者~ Icon 在之前隐藏主窗口的地方再加一行CODE~ if (isMin) { this.Hide();//隐藏主窗口 this.notifyIcon1.ShowBalloonTip(2000);//气球提示2秒钟 } 执行结果~ 嗯…杯具完了~~ 原文:大专栏 ?让WindowsForm缩小到系统匣 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-server-2008 – 在Windows Server 2008 Core上安装
- 在Windows上使用TortoiseSVN更改文件名大小写
- Windows – 包刷新内容挂在联系主持人:elpa.gnu.org:80
- 如何使用VbScript检查注册表值
- windows-runtime – 如何显示UIElement但没有UI交互(触摸,点
- windows平台安装配置Gitblit
- Windows批处理文件 – 拆分字符串以设置变量
- microsoft-office – 带有零售版产品密钥的Microsoft Offic
- 深入理解Windows系统——2.Windows对象管理器
- windows-7 – 如何实现自定义UAC权限UI?