.NET大型C/S系统可动态设置登录窗口的实现参考

简介:

  若系统的主程序设置不对,就是系统的启动窗体设置错了,很容易导致系统退出时无法从内存里干净干净的退出,甚至在编译开发时也会遇到一些不必要的问题,例如已经在内存里占用等,非要退出开发环境才可以重新编译调试的问题。

  最近把系统的主程序重新进行了调整,反复测试确认已经修正了无法从内存里干净退出的问题,心里舒坦了很多了。


  在配置文件中的设置的主程序、登录程序的设置参考。

<!--  登录窗体  -->
< add key = " LogOnAssembly "  value = " DotNet.WinForm.LogOn " />
< add key = " LogOnForm "  value = " FrmLogOn " />
< add key = " MainForm "  value = " SDIMainForm " />



  工程项目参考图如下

2011011001.png

  主程序中的代码如下

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();
   }
}





本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/1201486,如需转载请自行联系原作者

相关文章
|
2月前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
37 4
|
10天前
|
开发框架 前端开发 JavaScript
采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示
技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、SQLSugar等 数 据 库:SQLserver 2012
|
2月前
|
SQL 开发框架 .NET
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
67 0
|
3月前
|
前端开发 JavaScript 关系型数据库
.NET开源、强大的Web报表统计系统
.NET开源、强大的Web报表统计系统
|
4月前
|
Web App开发 开发框架 .NET
asp.net基于WEB层面的云LIS系统平台源码
结合当今各检验科管理及实验室规模的不同状况,充分吸收当今IT科技的最新成就,开发出以高度产品化、功能强大、极易实施操作、并不断升级换代为主要特点的LIS系统。彻底解决检验科的信息孤岛,全面实现全院信息互通互联、高度共享,并为检验科的规范化管理提供了有力工具。
41 0
|
4月前
|
Oracle 关系型数据库 数据管理
.NET医院检验系统LIS源码,使用了oracle数据库,保证数据的隔离和安全性
LIS系统实现了实验室人力资源管理、标本管理、日常事务管理、网络管理、检验数据管理(采集、传输、处理、输出、发布)、报表管理过程的自动化,使实验室的操作人员和管理者从繁杂的手工劳作中解放出来,提高了检验人员的工作效率和效益,降低了劳动成本和差错发生率。
|
4月前
|
人工智能 机器人 C#
Windows编程课设(C#)——基于WPF和.net的即时通讯系统(仿微信)
一款参考QQ、微信的即时通讯软件。采用CS结构,客户端基于.Net与WPF开发,服务端使用Java开发。
|
4月前
|
数据库
VB.NET 三层登录系统实战:从设计到部署全流程详解
VB.NET 三层登录系统实战:从设计到部署全流程详解
57 0
|
4月前
|
Web App开发 开发框架 .NET
asp.net基于WEB层面的区域云LIS系统平台源码
asp.net基于WEB层面的区域云LIS系统平台源码
49 1
|
4月前
|
存储 开发框架 .NET
【ASP.NET】医学实验室管理(LIS)系统源码
【ASP.NET】医学实验室管理(LIS)系统源码
73 0