C# winForm程序开机启动和托盘显示
2012-09-10 00:05
447 查看
C# winForm程序开机启动和托盘显示
这段时间一直在学习C#,看了书然后又在网上看了N多大神些的blog,然后自己学着做了一个像QQ托盘图标那样的小功能的Demo:(1)、在窗口上点击关闭按钮或者最小化时将托盘显示;
(2)、双击托盘图标显示窗口;
(3)、右键点击托盘图标提供三个菜单选项,“退出”、“隐藏”、“显示”;
(4)、程序可以设置开机启动,隐藏任务栏显示。就这四个小功能。
1、建一个WinForm程序—TestIconForm,将其属性ShowInTaskbar改为false,这样程序将不会在任务栏中显示;将MaximizeBox属性设置为false,屏蔽掉最大化按钮;把StartPosition属性改为CerternScreen,这样程序运行后,窗口将会居中显示。
2、在工具栏中的公共控件里,拖入NotifyIcon控件—testNotifyIcon,这个是程序运行任务栏右侧通知区域图标显示控件。
3、在工具栏中的菜单和工具栏里,拖入ContextMenuStrip—testContextMenuStrip,这个控件是右击时关联菜单。
4、右键testNotifyIcon选择属性,将其属性ContextMenuStrip改加为testContextMenuStrip,这个时候1和2两个步骤的两个控件就关联了,用于完成上面(3)功能。
5、右键testContextMenuStrip选择属性,进入Items,然后点击“添加”,这里添加三个菜单选项:exitMenuItem、hideMenuItem、showMenuItem,同时分别将其Text属性改为:退出、隐藏和显示。
准备工作就这些,下面是大致代码:
1)、双击TestIconForm,即添加Load事件然后
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
代码
private void Form1_Load(object sender, EventArgs e) { testNotifyIcon.Icon = new Icon("e:\\MyPicture\\testIcon.ico"); //取得程序路径 string startup = Application.ExecutablePath; //class Micosoft.Win32.RegistryKey. 表示Window注册表中项级节点,此类是注册表装 RegistryKey rKey = Registry.LocalMachine; RegistryKey autoRun = rKey.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"); try { autoRun.SetValue("BookServer", startup); rKey.Close(); } catch (Exception exp) { MessageBox.Show(exp.Message.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
添加Form_Closing,SizeChanged事件
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
代码
private void Form1_FormClosing(object sender, FormClosingEventArgs e) //关闭按钮事件 { e.Cancel = true; this.Hide(); } private void Form1_SizeChanged(object sender, EventArgs e) //最小化事件按钮 { this.Hide(); }
2)、给testNotifyIcon添加MouseDoubleClick事件
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
代码
private void testNotifyIcon_MouseDoubleClick(object sender, MouseEventArgs e) // 左键双击,显示 { if (e.Button == MouseButtons.Left) { this.Show(); this.WindowState = FormWindowState.Normal; this.Activate(); } }
3)、进入TestIconForm单击testContextMenuStrip,然后可以看到“退出”、“隐藏”、“显示”,分别双击,添加相应的事件
![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
代码
private void exitMenuItem_Click(object sender, EventArgs e) { if (MessageBox.Show("你确定要退出终端服务程序吗?", "确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK) { testNotifyIcon.Visible = false; this.Close(); this.Dispose(); Application.Exit(); } } private void showMenuItem_Click(object sender, EventArgs e) { this.Hide(); } private void hideMenuItem_Click(object sender, EventArgs e) { this.Show(); this.WindowState = FormWindowState.Normal; this.Activate(); }
相关文章推荐
- C# winForm程序开机启动和托盘显示
- C# winForm程序开机启动和托盘显示[转]
- C# winForm程序开机启动和托盘显示 (转http://blog.csdn.net/xinyue3054/article/details/6599508)
- C# winForm程序开机启动和托盘显示
- C# winForm程序开机启动和托盘显示
- C# winForm程序开机启动和托盘显示
- C# WF程序 开机启动和托盘显示
- winForm程序开机启动和托盘显示[转]
- C#实现winform软件开机自动启动并最小化到系统托盘
- Winform开机启动与托盘显示
- C#实现winform软件开机自动启动并最小化到系统托盘
- C#实现winform软件开机自动启动并最小化到系统托盘
- C#Winform实现程序关闭隐藏窗体,二次程序启动时显示
- C#实现winform软件开机自动启动并最小化到系统托盘
- C# winform 开机自启动时最小化到托盘 单击显示窗体,右击显示菜单
- 转:C#里WinForm程序启动时不显示主窗体的方法
- Winform开机启动 托盘显示 打开超链接
- 两个小知识:C#如何设置开机启动时自动执行程序|C# WinForm打开超链接
- winform(c#) 开机自动启动程序
- winform(c#) 开机自动启动程序