版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、C#c/s結構數(shù)據(jù)庫系統(tǒng)框架詳解(一)vjsdn自發(fā)布多文檔界面(MDI)系統(tǒng)框架-C#完整版后又有了新想法,就是再寫個C#版C/S結構系統(tǒng)框架。因時間關系斷斷續(xù)續(xù)寫了很久。借周日機會,我將源代碼整理好再寫些說明文檔發(fā)布出來,希望給大家?guī)韺W習機會。特別聲明的是:C/S結構系統(tǒng)框架是優(yōu)化和改編自幾個大型系統(tǒng),是經(jīng)歷過考驗和實際應用的。希望大家好好珍惜。這個框架有很多學習要點,提醒大家不僅僅是下載代碼而應該去好好研究,甚至閱讀每一行代碼每一個模塊每一個細節(jié)!你學會了它也許將來作為一個優(yōu)秀架構師需要設計同樣一個系統(tǒng)時,這時你用上它,不是事半功倍么?另外,請尊重作者版權,寫一個框架的確需要大量時間和
2、精力。程序員有個共性是寫作永無止境,雖是深夜2點,但我們?nèi)栽谒伎迹栽趯懽?!眼睛睡覺了但思維和創(chuàng)作動力仍在冗奮中,作為一個程序員的你,我說的對嗎?有同樣的感受嗎?所以:轉載時請注明本文來自易學網(wǎng) HYPERLINK http:/www.vjsdn !言歸正傳,接下來講解系統(tǒng)框架實現(xiàn)過程。首先看幾個圖對框架有個初步認識。1.登陸窗體準備登錄窗體如通過驗證用戶,則加載MDI主窗體,留意圖片內(nèi)的動態(tài)消息:正在初始化用戶界面,請稍候.登錄窗體是多數(shù)應用程序的入口,在進入系統(tǒng)前需要用戶驗證。請看實現(xiàn)過程:2.MDI主窗體登錄成功后顯示MDI主窗體.圖片為測試模塊II的主界面.訂單資料測試霍煥II(VS結
3、構程序框架-1DI主窗體系SE管理Login:程序:易學原創(chuàng)版本:141VJSDN,測試模塊一測試模塊工工膛)稱助并閉匕買4茶統(tǒng)設胃務測試窗體81試賀塊一聚統(tǒng)管理關于程序lbar|養(yǎng)盂町工框架模塊(ModuleWindow)ty易學原創(chuàng)測試窗懷用戶權限測試按鈕登錄成功后顯示MDI主窗體.圖片為系統(tǒng)管理模塊的主界面.3.關于程序/作者4解決方案SolutionExplorer從+Troperties+旦Referencesffl-口bina-dobj業(yè)務層BusinessLayerSolution*vjsdn_CS3La.yers?(9projects).須vjsdn.CS3LayersFram
4、evork.B-usiness二Soles:“首ITserRolG.cs歯tlLService.cs:濟muswT.u囂.jjvjsdn.CS3LayersFrrework.CorwhonrrcbpertiesReferences公共IS塊Globals.csIfilsg.csMsg.csSingletoxiPrograjn.cs+i:=lProperties+Referencesa-Ql占況二objdalUser.cs數(shù)據(jù)層DataAccessLayerDataProvider.cs0.事vjsdn.CS3Layers_Franework.LibraryI:習IProperties7Refe
5、rences控件庫崔DAssemblyfiloduleEn.try.csS固frmBase.cs(3圈frmModuleBase,cs酋LoadStat-us.cs酋ModuleLoader.cs電1Modulehlaiiager.cs;_皙SpLashLab.csSvjsdji.CS3L&yers.fraBevork.Iftin十國Tfoperties+9LeferencesMDI主禮序(3,_jLeso-urces酋AppEntry.cs(3固frnAboutVjsdii.csS)闔frmLogin.csE)圉frmMain.cs7酒Frogram.cs-.卻vjsdn.CS3Layers
6、Framework.ModelsFiProper5Referencesillbin口obj皙TStudent.cs酋TTeacher.cs建TUser.cs甲十十十實體類rjsdn.CS3Layers_Franework.SytemModiile創(chuàng)Properties7Keferences核塊:系姚設置揍塊,_j|EGSources國frffiSysterTiMsiin.es國fkTiSystemOptions.e5-.Jjjvjsdn.CS3Layers_Franiework.TestModulwlStiw占皙ksseiTiblylnfo.cs模塊;測試核塊I用代碼實現(xiàn)登錄到加載MDI主窗體
7、.1.程序入口代碼:0日代碼staticclassProgramSTAThreadstaticvoidMain()/捕獲系統(tǒng)所產(chǎn)生的異常。Application.ThreadException+=newThreadExceptionEventHandler(Application_ThreadException);SystemConfig.ReadSettings();/讀取系統(tǒng)設置bllService.SetDataBasePath();/因用至UAccess,扌旨定個MDB文件Processinstance=SingletonProgram.GetRunningInstance();if(
8、instance!=null)Msg.Warning(程序已經(jīng)運行.);if(instance!=null)&(!SystemConfig.CurrentConfig.AllowRunMultiInstance)SingletonProgram.HandleRunningInstance(instance);/Activeinstancereturn;Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);/注意:先打開登陸窗體,如登陸成功后再正式運行程序(MDI主窗體)/學會這
9、種寫法。if(AppEntry.Login()Application.Run(AppEntry.MainForm);elseApplication.Exit();privatestaticvoidApplication_ThreadException(objectsender,ThreadExceptionEventArgse)Msg.ShowException(e.Exception);轉載請注明來自易學網(wǎng)易學原創(chuàng)作品留意這段代碼:if(AppEntry.Login()Application.Run(AppEntry.MainForm);elseApplication.Exit();調(diào)用Ap
10、pEntry類表態(tài)方法Login(),如登錄成功,此時已經(jīng)創(chuàng)建MainForm實例,則運行主窗體.AppEntry類是個公共類,僅定義登錄方法及MDI主窗體變量.在登錄窗體內(nèi)用到該類.用戶登錄成功則創(chuàng)建frmMain實例.然后調(diào)用Application.Run(AppEntry.MainForm)方法.AppEntry類,應用程序入口類.國日代碼publicclassAppEntrypublicstaticboolLogin()returnfrmLogin.TryLogin();privatestaticfrmMain_mainForm=null;publicstaticfrmMainMain
11、Formgetreturn_mainForm;set_mainForm=value;登錄窗體源代碼:S日代碼publicpartialclassfrmLogin:Form/將構造器設為靜態(tài),防止外部創(chuàng)建實例privatefrmLogin()InitializeComponent();/打開登陸窗體,公開一個主靜態(tài)方法/publicstaticboolTryLogin()frmLoginformnewfrmLogin();boolret=form.ShowDialog()=DialogResult.OK;returnret;privatevoidbtnLogin_Click(objectsend
12、er,EventArgse)/調(diào)用業(yè)務層登錄方法boolret=newbllUser().Login(txtUser.Text,txtPwd.Text);if(ret)/登錄成功創(chuàng)建主窗體AppEntry.MainFormnewfrmMain();/初始化主窗體(如加載模塊,初始化用戶界,加載系統(tǒng)參數(shù))/在初始化同時login窗體會動態(tài)顯示信息。AppEntry.MainForm.InitUserInterfacnewStatusLable(this.lblLoadingInfo);this.DialogResult=DialogResult.OK;this.Close();/關閉登陸窗體el
13、seMsg.Warnin登錄失敗,請檢查用戶名和密碼!);privatevoidbtnCancel_Click(objectsender,EventArgse)this.Close();轉載請注明來自易學網(wǎng) HYPERLINK /%e6%98%93%e5%ad%a6%e5%8e%9f%e5%88%9b%e4%bd%9c%e5%93%81 /易學原創(chuàng)作品這里需要調(diào)用業(yè)務層執(zhí)行用戶登錄.要學會將業(yè)務代碼與界面代碼分離./調(diào)用業(yè)務層登錄方法boolret=newbllUser().Login(txtUser.Text,txtPwd.Text);if(ret)當?shù)卿洺晒?,?chuàng)建MDI主窗體實例,然后調(diào)用
14、實例方法InitUserlnterface.這時初始化主窗體./初始化主窗體(如加載模塊,初始化用戶界,加載系統(tǒng)參數(shù))/在初始化同時login窗體會動態(tài)顯示信息。AppEntry.MainForm.InitUserInterface(newStatusLable(this.lblLoadinglnfo);4.下面是MDI主窗體的代碼:0日代碼publicpartialclassfrmMain:Form/模塊管理器實例privateModuleManager_ModuleManager;publicfrmMain()InitializeComponent();/初始化用戶接口publicvoid
15、InitUserInterface(StatusLablesplash)this.SuspendLayout();splash.UpdateMessage正在初始化用戶界面,請稍候.);_ModuleManager=newModuleManager(this,xtraTabControl1);/創(chuàng)建模塊管理器_ModuleManager.LoadModules(splash);/加載可用模塊splash.UpdateMessage正在加載工具欄.);_ModuleManager.CreateNavBarButtonsthis.navBarContro11,this.menuStripl);/倉
16、U建導航工具欄按鈕splash.UpdateMessage正在加載用戶模塊.);splash.UpdateMessage正在初始化數(shù)據(jù).);splash.UpdateMessage加載完畢.);this.ResumeLayout();/顯示由參數(shù)指定的模塊/publicvoidActiveModule(stringmoduleDisplayName)foreach(XtraTabPagepageinthis.xtraTabControl1.TabPages)if(page.Text.Equals(moduleDisplayName)xtraTabControl1.SelectedTabPage
17、=page;return;privatevoidbtnHelp_Click(objectsender,EventArgse)newfrmAboutVjsdn().ShowDialog();privatevoidbtnClose_Click(objectsender,EventArgse)this.Close();privatevoidbtnAbout_Click(objectsender,EventArgse)newfrmAboutVjsdn().ShowDialog();轉載請注明來自易學網(wǎng) HYPERLINK /%e6%98%93%e5%ad%a6%e5%8e%9f%e5%88%9b%e4%bd%9c%e5%93%81 /易學原創(chuàng)作品窗體類定義一個_ModuleManager變量,用于加載模塊.請看ModuleManager詳解.InitUserlnterface()方法是初始化主窗體方法.由frmLogin調(diào)用.轉載請注明來自易學網(wǎng) HYPERLINK /%e6%98%93%e5%ad%a6%e5%8e%9f%e5%88%9b%e4%bd%9c%e5%93%81 /易學原創(chuàng)作品續(xù)W全部鏈接:1.C/S結構數(shù)據(jù)庫系統(tǒng)框架詳解 HYPERLINK http:/www.vjsd http:/www.vjsd/bbs/bbsTopicDetails.aspx?pid=1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版家庭裝修合同中的合同變更方式
- 2025-2030年中國1,3二氧五環(huán)市場競爭格局及投資前景規(guī)劃研究報告
- 2025年度礦山地質(zhì)環(huán)境保護承包合同3篇
- 二零二五年漁業(yè)安全生產(chǎn)責任合同2篇
- 2025年冀少新版九年級科學上冊階段測試試卷
- 2024年連云港職業(yè)技術學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 2025年華東師大版六年級英語下冊階段測試試卷含答案
- 2025年滬教版五年級語文下冊月考試卷含答案
- 2025年人教版(2024)八年級語文上冊月考試卷含答案
- 2024版中國石化設備采購合作協(xié)議版B版
- 帆軟報表培訓課件
- 儀器分析課件 儀器分析緒論
- 英語現(xiàn)在完成時專項練習題(附答案)
- 制造樣品生產(chǎn)作業(yè)指導書
- 服務經(jīng)營培訓課件ppt 老客戶經(jīng)營綜合版
- MT/T 199-1996煤礦用液壓鉆車通用技術條件
- GB/T 10357.1-2013家具力學性能試驗第1部分:桌類強度和耐久性
- 公寓de全人物攻略本為個人愛好而制成如需轉載注明信息
- 第5章-群體-團隊溝通-管理溝通
- 腎臟病飲食依從行為量表(RABQ)附有答案
- 園林施工管理大型園林集團南部區(qū)域養(yǎng)護標準圖例
評論
0/150
提交評論