若系統的主程序設置不對,就是系統的啟動窗體設置錯了,很容易導致系統退出時無法從內存里干凈干凈的退出,甚至在編譯開發時也會遇到一些不必要的問題,例如已經在內存里占用等,非要退出開發環境才可以重新編譯調試的問題。
<!-- 登錄窗體 -->
<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();
}
}
復制代碼