⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmstartmain.cs

📁 自己编写的基本Orcale的通用的数据库初始化工具。
💻 CS
📖 第 1 页 / 共 2 页
字号:
		// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
		//
	}


	#region dispose
	/// <summary>
	/// 清理所有正在使用的资源。
	/// </summary>
	protected override void Dispose( bool disposing )
	{
		if( disposing )
		{
			if(components != null)
			{
				components.Dispose();
			}
		}
		base.Dispose( disposing );
	}

	#endregion
	#endregion
	
	#region ### 自定义变量 ###
		private System.Threading.Timer timer = null;
	#endregion 

	#region ### 自定义属性 ###
	#region FrmsHash
	private Hashtable frmsHash = new Hashtable();
	public Hashtable FrmsHash
	{
		get{return this.frmsHash;}
		set{this.frmsHash = value;}
	}
	#endregion
	#endregion

	#region ### 自定义方法 ###

	#region 加载控件至主界面
	public void LoadWinzardToMain()
	{
		ctrlTaskStepWinzard1 = new CtrlTaskStepWinzard();
		this.pnlLeft.Controls.Add(ctrlTaskStepWinzard1);
		this.ctrlTaskStepWinzard1.Dock = DockStyle.Fill;
	}
	#endregion

	#region 声明方法签名
		public void DeclareEventAssignment()
		{
			this.ctrlTaskStepWinzard1.ShowFormEvent +=
				new DS.EMIS.StartPrepare.CtrlTaskStepWinzard.ShowFormEventHandler(ShowFormByName);
			DS.EMIS.StartPrepare.Common.GlobalObject.Instance.LocalSession.OnMsgEventHndler
				("FrmStartMain",new DS.EMIS.StartPrepare.Common.CommonSession.MsgEventHandler(this.ReceiveMsg));
		}
	#endregion

	#region 加载子窗体
	public void CreateMdiForms()
	{
		//TODO:根据配置文件读取
	
		FrmSon frmSon = new FrmSon();
		frmSon.MdiParent = this;
		
		FrmCreateDBUser frmDBUser = new FrmCreateDBUser();
		frmDBUser.MdiParent = this;

		FrmCreateEMISDB frmDB = new FrmCreateEMISDB();
		frmDB.MdiParent = this;

		FrmOptimize frmOpti = new FrmOptimize();
		frmOpti.MdiParent = this;

		FrmInitData frmInit = new FrmInitData();
		frmInit.MdiParent = this;

		FrmSysSupUser frmUser = new FrmSysSupUser();
		frmUser.MdiParent = this;

		this.FrmsHash.Add("FrmCreateDBUser",frmDBUser);
		this.FrmsHash.Add("FrmCreateEMISDB",frmDB);
		this.FrmsHash.Add("FrmOptimize",frmOpti);
		this.FrmsHash.Add("FrmInitData",frmInit);			
		this.FrmsHash.Add("FrmSysSupUser",frmUser);
		this.FrmsHash.Add("FrmSon",frmSon);
	}
	#endregion

	#region 加载工具菜单
	public void LoadMenuToToolBar()
	{
		this.popupMenu = 
			(DS.Win.UltraWinToolbars.PopupMenuTool)this.MainUltraToolbarsManager.Toolbars["UltraToolbarMenu"].Tools["Tools"];
		DataTable dtTool = GlobalObject.Instance.LocalSession.GetConfigs("DBTask.config","tool");
		if(dtTool.Rows.Count>0)
		{
			foreach(DataRow dr in dtTool.Rows)
			{
				DS.Win.UltraWinToolbars.ButtonTool newBtn = 
					new DS.Win.UltraWinToolbars.ButtonTool(dr[0].ToString());
				newBtn.SharedProps.Caption = dr[1].ToString();
				this.MainUltraToolbarsManager.Tools.Add(newBtn);
				popupMenu.Tools.AddTool(dr[0].ToString());
			}
		}
	}
	#endregion

	#region 加载图标
	public void LoadImageToStaturBar()
	{
	}
	#endregion

	#region 显示子窗体
	public void ShowFormByName(string FrmName)
	{			
		IDictionaryEnumerator frmEnumerator = this.FrmsHash.GetEnumerator();
		while ( frmEnumerator.MoveNext() )
		{
			if( ((string)frmEnumerator.Key).ToUpper().Equals(FrmName.ToUpper()) )					
			{	
				if(frmEnumerator.Value!=null) 
				{
					((System.Windows.Forms.Form)(frmEnumerator.Value)).Show();
					((System.Windows.Forms.Form)(frmEnumerator.Value)).Activate();
					((System.Windows.Forms.Form)(frmEnumerator.Value)).WindowState = FormWindowState.Maximized;					
					return;
				}
			}
		}			
	}	

	public void ShowFormByName(string FrmName,string BtnKey)
	{
		IDictionaryEnumerator frmEnumerator = this.FrmsHash.GetEnumerator();
		while ( frmEnumerator.MoveNext() )
		{
			if( ((string)frmEnumerator.Key).ToUpper().Equals(FrmName.ToUpper()) )					
			{					
				((FrmAncestor)(frmEnumerator.Value)).Show();
				((FrmAncestor)(frmEnumerator.Value)).WindowState = FormWindowState.Maximized;
				return;
			}
			else
			{
				((FrmAncestor)(frmEnumerator.Value)).Hide();
			}
		}			
	}	

	public void ShowFormByName(string FrmName, TaskStepState state)
	{
		IDictionaryEnumerator frmEnumerator = this.FrmsHash.GetEnumerator();
		while ( frmEnumerator.MoveNext() )
		{
			if( ((string)frmEnumerator.Key).ToUpper().Equals(FrmName.ToUpper()) )					
			{
				if(state.Equals(TaskStepState.Todo))
				{
					((FrmAncestor)(frmEnumerator.Value)).Show();
					((FrmAncestor)(frmEnumerator.Value)).WindowState = FormWindowState.Maximized;
					return;
				}
			}
			else
			{
				((FrmAncestor)(frmEnumerator.Value)).Hide();
			}
		}		
	}
	#endregion

	#region 处理子窗体消息
		public object ReceiveMsg(string sourceName,string typeName,object typeObj)
		{	
			Application.DoEvents();
			if((bool)typeObj)
			{
				this.mainUltraStatusBar.Panels[0].Text = typeName;
				timer.Change(0,80);
			}
			else
			{
				timer.Change(System.Threading.Timeout.Infinite,System.Threading.Timeout.Infinite);
				this.mainUltraStatusBar.Panels[0].Text = String.Empty;
				if(this.mainUltraStatusBar.Panels[1].ProgressBarInfo.Value>0)
					this.mainUltraStatusBar.Panels[1].ProgressBarInfo.Value = 0;
			}
			return null;
		}
		
	#endregion

	#region Initialise
	protected void Initialise()
	{
		LoadWinzardToMain();
		CreateMdiForms();
		LoadImageToStaturBar();
		LoadMenuToToolBar();
		DeclareEventAssignment();

		InitTimer();
	}
	#endregion

		protected void FrmClose()
		{
			this.Close();
		}

		public void InitTimer()
		{			
			this.timer = new System.Threading.Timer(new System.Threading.TimerCallback(ShowProgress),null,-1,-1);
		}
		
		public void ShowProgress(object obj) 
		{
			if(this.InvokeRequired)
			{
				object[] pList = {obj};
				BeginInvoke( new MyProgressEventsHandler(UpdateUI),pList);				
			}
			else
			{
				UpdateUI(obj);
			}
		}

		private void UpdateUI(object obj) 
		{
			Application.DoEvents();
//			if((int)obj>0)
			
//			{
				if(this.mainUltraStatusBar.Panels[1].ProgressBarInfo.Value>=99)
					this.mainUltraStatusBar.Panels[1].ProgressBarInfo.Value = 0;
				this.mainUltraStatusBar.Panels[1].ProgressBarInfo.Value ++;
//			}
//			else
//				this.mainUltraStatusBar.Panels[0].ProgressBarInfo.Value = 0;
		}
		private delegate void MyProgressEventsHandler(object obj) ;
	#endregion

	#region ToolBarClick
	public void RespondClick(string taskName)
	{
		TaskStepButton tmpBtn = this.ctrlTaskStepWinzard1.RtnTaskStepBtnByTask(taskName);
		if(tmpBtn!=null)
		{
			this.ctrlTaskStepWinzard1.RespondClick(tmpBtn);
		}	
	}
	#endregion

	#region ### 自定义事件 ###

	#endregion

	#region ### 控件事件方法 ###
		private void FrmStartMain_Load(object sender, System.EventArgs e)
		{			
			ShowFormByName("FrmCreateDBUser");
		}

		private void MainUltraToolbarsManager_ToolClick(object sender, DS.Win.UltraWinToolbars.ToolClickEventArgs e)
		{
			switch(e.Tool.Key.ToUpper())
			{
				case "CREATEDBUSERTASK" :
				{
					RespondClick("CreateDBUserTask");
					break;
				}	
				case "CREATEDBTASK" :
				{
					RespondClick("CreateDBTask");
					break;
				}
				case "OPTIDBTASK" :
				{
					RespondClick("OptiDBTask");
					break;
				}	
				case "INITDBTASK" :
				{
					RespondClick("InitDBTask");
					break;
				}	
				case "SYSUSERTASK" :
				{
					RespondClick("SysUserTask");
					break;
				}
				case "SQLSCRIPTTOOL" :
				{
					FrmSqlScript frm = new FrmSqlScript();
					frm.ShowDialog();
					break;
				}
				case "EXIT" :
				{
					this.Close();
					break;
				}
				case "LOCK":
				{
					FrmSon frm = new FrmSon();
					frm.ShowDialog();
					break;
				}
				case "ABOUT" :
				{
					FrmAbout frm = new FrmAbout();
					frm.ShowDialog();
					break;
				}
				case "SETUP" :
				{
					FrmSetConfig frmConfig = new FrmSetConfig();
					frmConfig.ShowDialog();
					break;
				}
				default :
					break;
			}
		}
	#endregion
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -