.NET大型C/S系统可动态设置登录窗口的实现参考
2011-01-10 11:26
281 查看
若系统的主程序设置不对,就是系统的启动窗体设置错了,很容易导致系统退出时无法从内存里干净干净的退出,甚至在编译开发时也会遇到一些不必要的问题,例如已经在内存里占用等,非要退出开发环境才可以重新编译调试的问题。
最近把系统的主程序重新进行了调整,反复测试确认已经修正了无法从内存里干净退出的问题,心里舒坦了很多了。
在配置文件中的设置的主程序、登录程序的设置参考。
<!-- 登录窗体 -->
<add key="LogOnAssembly" value="DotNet.WinForm.LogOn"/>
<add key="LogOnForm" value="FrmLogOn"/>
<add key="MainForm" value="SDIMainForm"/>
工程项目参考图如下
主程序中的代码如下
private void MainForm_Load(object sender, EventArgs e)
{
Form logOnForm = CacheManager.Instance.GetForm(BaseSystemInfo.LogOnAssembly, BaseSystemInfo.LogOnForm);
logOnForm.ShowDialog(this);
}
登录按钮调用主窗体的事件参考部分
if (!BaseSystemInfo.LogOned)
{
Form mainForm = this.Owner;
((IBaseMainForm)mainForm).InitService();
((IBaseMainForm)mainForm).InitForm();
mainForm.Show();
}
下面是登录窗体的接口定义部分
//------------------------------------------------------------
// All Rights Reserved , Copyright (C) 2010 , Jirisoft , Ltd.
//------------------------------------------------------------
using System;
namespace DotNet.WinForm.Utilities
{
/// <summary>
/// IBaseMainForm
/// 主窗口的接口
///
/// 修改纪录
///
/// 2008.10.29 版本:1.1 JiRiGaLa 重新命名。
/// 2008.05.04 版本:1.0 JiRiGaLa 创建。
///
/// 版本:1.0
///
/// <author>
/// <name>JiRiGaLa</name>
/// <date>2008.05.04</date>
/// </author>
/// </summary>
public interface IBaseMainForm
{
/// <summary>
/// 初始化窗体
/// </summary>
void InitForm();
/// <summary>
/// 初始化服务
/// </summary>
void InitService();
/// <summary>
/// 检查菜单
/// </summary>
void CheckMenu();
}
}
最近把系统的主程序重新进行了调整,反复测试确认已经修正了无法从内存里干净退出的问题,心里舒坦了很多了。
在配置文件中的设置的主程序、登录程序的设置参考。
<!-- 登录窗体 -->
<add key="LogOnAssembly" value="DotNet.WinForm.LogOn"/>
<add key="LogOnForm" value="FrmLogOn"/>
<add key="MainForm" value="SDIMainForm"/>
工程项目参考图如下
主程序中的代码如下
private void MainForm_Load(object sender, EventArgs e)
{
Form logOnForm = CacheManager.Instance.GetForm(BaseSystemInfo.LogOnAssembly, BaseSystemInfo.LogOnForm);
logOnForm.ShowDialog(this);
}
登录按钮调用主窗体的事件参考部分
if (!BaseSystemInfo.LogOned)
{
Form mainForm = this.Owner;
((IBaseMainForm)mainForm).InitService();
((IBaseMainForm)mainForm).InitForm();
mainForm.Show();
}
下面是登录窗体的接口定义部分
//------------------------------------------------------------
// All Rights Reserved , Copyright (C) 2010 , Jirisoft , Ltd.
//------------------------------------------------------------
using System;
namespace DotNet.WinForm.Utilities
{
/// <summary>
/// IBaseMainForm
/// 主窗口的接口
///
/// 修改纪录
///
/// 2008.10.29 版本:1.1 JiRiGaLa 重新命名。
/// 2008.05.04 版本:1.0 JiRiGaLa 创建。
///
/// 版本:1.0
///
/// <author>
/// <name>JiRiGaLa</name>
/// <date>2008.05.04</date>
/// </author>
/// </summary>
public interface IBaseMainForm
{
/// <summary>
/// 初始化窗体
/// </summary>
void InitForm();
/// <summary>
/// 初始化服务
/// </summary>
void InitService();
/// <summary>
/// 检查菜单
/// </summary>
void CheckMenu();
}
}
相关文章推荐
- .NET大型C/S系统可动态设置登录窗口的实现参考
- .NET大型C/S系统可动态设置登录窗口的实现参考
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 标准省市县数据的公司选择窗口实现
- C#.NET 通用权限管理系统中的数据集权限设置实现参考界面(商业化成熟权限管理系统,提供全部源码)
- 解析大型.NET ERP系统 单据编码功能实现
- 课下参考五 linux的ssh服务实现多用户登录linux系统--windows客户端篇
- 基于 Jython 的大型应用系统动态实现
- 去掉标题栏和系统栏代码实现以及动态设置密码
- 解析大型.NET ERP系统 分布式应用模式设计与实现
- “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第三篇(登录窗口的实现以及如何保存登录者的信息)
- Windows7和WinXP下如何实现不输密码自动登录系统的设置方法介绍
- GDI+ / PNG 实现半透明窗口,正常情况下没有问题 将系统设置为16位色后UpdateLayeredWindow函数失败,GetLastError返回8(ERROR_NOT_ENOUGH_MEMORY)
- 程序动态设置实现——UGUI事件系统
- C#.NET 通用权限管理系统中的数据集权限设置实现参考界面(商业化成熟权限管理系统,提供全部源码)
- C#.NET 通用权限管理系统中的数据集权限设置实现参考界面(商业化成熟权限管理系统,提供全部源码)
- 在VMware Workstation中设置双网卡实现SSH使用固定IP登录并且在虚拟系统中任意访问Internet
- 基于 Jython 的大型应用系统动态实现
- 解析大型.NET ERP系统 多国语言实现
- 解析大型.NET ERP系统 权限模块设计与实现
- centos 实现登录系统时有选择的进入文字模式(3)图形模式(5)的menu.lst设置