一个比较完整的WindowsFormsApplication实现
来源:互联网 发布:百度云盘数据空间成本 编辑:程序博客网 时间:2024/04/30 12:32
这是前两天课堂上的例子,提供了一个自定义WindowsFormsApplication的范例,主要包括如下的功能
1. 单一实例
2. 闪屏
3. 登陆窗口
4. 任务栏图标和菜单
需要注意的是,WindowsFormsApplicationBase这个类是要添加Microsoft.VisualBisic.dll引用的
class MyApplication : WindowsFormsApplicationBase { NotifyIcon taskBarIcon; public MyApplication(bool singleton) : base(AuthenticationMode.ApplicationDefined) { //设置单实例 this.IsSingleInstance = true; //添加任务栏按钮 taskBarIcon = new NotifyIcon(); taskBarIcon.Icon = Properties.Resources.Northwind; ContextMenuStrip contextMenu = new ContextMenuStrip(); contextMenu.Items.Add( new ToolStripMenuItem( "退出", Properties.Resources.close, (sender, eventArgs) => { if (MessageBox.Show( "你是否真的要退出?", "确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { Application.Exit(); } })); contextMenu.Items.Add( new ToolStripMenuItem( "帮助", Properties.Resources.help, (sender, eventArgs) => { MessageBox.Show("帮助文档还在制作中"); })); taskBarIcon.ContextMenuStrip = contextMenu; taskBarIcon.ShowBalloonTip(2000, "欢迎", "欢迎使用该软件", ToolTipIcon.Info); taskBarIcon.Visible = true; } public MyApplication() : this(true) { } protected override void OnCreateSplashScreen() { base.OnCreateSplashScreen(); LoginForm login = new LoginForm(); if (login.ShowDialog() != DialogResult.OK) { Environment.Exit(-1);//这里不能用Application.Exit,因为当前是一个自定义的Application } this.MinimumSplashScreenDisplayTime = 2000;//最少显示两秒 this.SplashScreen = new SplashForm(); } protected override void OnShutdown() { base.OnShutdown(); taskBarIcon.Dispose(); } protected override void OnStartupNextInstance(StartupNextInstanceEventArgs eventArgs) { base.OnStartupNextInstance(eventArgs); eventArgs.BringToForeground = true; } protected override void OnCreateMainForm() { base.OnCreateMainForm(); this.MainForm = new MainForm(); } }.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }
- 一个比较完整的WindowsFormsApplication实现
- WindowsFormsApplication
- 一个比较完整的svg文件
- 一个比较完整的CString类
- 一个完整项目的实现
- ★ 在.Net中实现一个封装比较完整的FTP类——clsFTP
- [js插件开发教程]实现一个比较完整的开源级选项卡插件
- 一个比较完整的抓MS SQL阻塞的脚本
- 代码清单7-4是一个比较完整的数据访问组件,下面分析这些代码的具体实现。
- 相对比较完整的一个序列化示例。
- 一个封装比较完整的FTP类——clsFTP
- 一个封装比较完整的FTP类——clsFTP
- 一个封装比较完整的FTP类——clsFTP
- 一个比较完整的Inno Setup 安装脚本
- 一个比较完整的机房建设方案要求
- oracle一个比较完整的分页工具类Page
- 写一个比较完整的java数据库导出excl
- 一个封装比较完整的FTP类——clsFTP
- DEDE源码分析与学习---index.php文件解读。
- eclipse插件安装方法
- BW:Data Mart:Multi Provider可以用来make as Data Mart么
- 通过编程添加Outlook联系人和通讯组
- SQL删除重复记录的方法
- 一个比较完整的WindowsFormsApplication实现
- 通过Hadoop的API对Job进行管理
- 一个自定义的文本框验证器(WindowsForms)
- 一个通用的报表显示窗口(WindowsForms)
- js处理table的选中行换色
- 关于保活定时器
- Reporting Service本地报表(rdlc)的两种方式
- MTK之后台发送中英文短信篇
- 由object不能比较引发的问题