露雨资源库(第一个.net2.0软件)二
在上一篇文章中,我主要是講了界面的設(shè)置和一些初步的操作。
文章見(jiàn):http://luyu.cnblogs.com/archive/2005/11/25/284281.html
這篇文章我主要講一些設(shè)計(jì)思路和新特性,以及未解決的問(wèn)題等。
這個(gè)軟件在界面設(shè)計(jì)完之后,仍然有10大問(wèn)題需要解決,不過(guò)現(xiàn)在已經(jīng)基本上完成,還差一些后期的資源壓縮和加密沒(méi)有做。
原來(lái)一直遇到一個(gè)困難讓我頭疼,就是我如何能在dataGridView的最后一行生成一個(gè)統(tǒng)計(jì)行,包括統(tǒng)計(jì)記錄和分頁(yè)功能等。后來(lái)上了CSDN問(wèn),也沒(méi)有得到結(jié)果,被告之無(wú)法實(shí)現(xiàn)。我想通過(guò)重載DataGridItemCreate事件可能會(huì)解決,不過(guò)實(shí)在麻煩,而以性效率過(guò)低。于是一直償試其他方法,后來(lái)才發(fā)現(xiàn)是我的思路太狹窄了,思想太僵硬了。非要使用dataGridView的行來(lái)做嗎?不是可以自己設(shè)置一個(gè)多功能的控件嗎,可以由多個(gè)label和textbox,linklabe等做成就行了啊。
想著想著,心里非常高興,不過(guò)我看到VS2005中的DATA面板中,有一個(gè)叫bindingNavigator的控件,一拖上FORM看,這不真是我要的控件嗎?我想可能它是可以直接連接上數(shù)據(jù)源實(shí)現(xiàn)分頁(yè)的。不過(guò)我不喜歡這種方法,我喜歡用datareader來(lái)讀取數(shù)據(jù),想就拿它的外觀和事件來(lái)用用也不錯(cuò)啊。結(jié)果一試還真是好。
下面是我測(cè)試用的,一個(gè)8條記錄,每頁(yè)定義3條記錄,一個(gè)是3頁(yè),可以在最后的bindingNavigator文本域中看到。
當(dāng)然點(diǎn)擊標(biāo)題就可以直接查看內(nèi)容了,點(diǎn)擊最后的刪除按鈕,可以刪除當(dāng)前的記錄。不過(guò)這個(gè)功能我考慮以后要管理員登錄后,才能顯示啊,不然太危險(xiǎn)了。 :)
實(shí)際上查看內(nèi)容并不是所有的都很漂亮,像這個(gè)字體過(guò)大,就是因?yàn)闆](méi)有應(yīng)用到樣式,當(dāng)然這個(gè)比較好改啦,在提取圖片時(shí),我一樣可以提取樣式表,然后自動(dòng)加到這個(gè)文檔中來(lái)就可以了。 :)
上面就是軟件的所有文件,除了“關(guān)于我們”,也就只有Form1.cs和InsertLib.cs兩個(gè)窗口了。其中Form1是主窗口,我通過(guò)Program.cs實(shí)現(xiàn)了只讓程序同時(shí)運(yùn)行一個(gè)實(shí)例。以免浪費(fèi)資源和數(shù)據(jù)不同步等。 代碼如下:
1string?procName?=?System.Diagnostics.Process.GetCurrentProcess().ProcessName;2????????????if?((System.Diagnostics.Process.GetProcessesByName(procName)).GetUpperBound(0)?>?0)
3????????????{
4????????????????MessageBox.Show("系統(tǒng)已經(jīng)在運(yùn)行中",?"警告",?System.Windows.Forms.MessageBoxButtons.OK,?System.Windows.Forms.MessageBoxIcon.Asterisk);
5????????????}
6????????????else
7????????????????Application.Run(new?MainForm());非常簡(jiǎn)潔明了,是我引用了一個(gè)朋友的代碼,高手。
同時(shí)我設(shè)計(jì)了一個(gè)函數(shù)庫(kù)Data.cs,Image.cs,Text.cs,分別用來(lái)處理數(shù)據(jù)庫(kù),圖片和文本。
其他的真的是非常的雜亂。我想一些架構(gòu)設(shè)計(jì)高手能指點(diǎn)指點(diǎn)。
首頁(yè)在窗體第一次Load時(shí),我會(huì)加載主窗口左側(cè)的listview(文章類型)和insertLib窗口中的類型(加入靜態(tài)變量中,這樣避免了數(shù)據(jù)庫(kù)操作)。剩下的操作都不是什么難題了。
這個(gè)軟件除了上面提到的一些問(wèn)題外,還有一些功能要完善,比如在自適應(yīng)窗口時(shí),還有分頁(yè)表格自適應(yīng)問(wèn)題要解決。
等軟件release后,我會(huì)放出來(lái)給大家試用的。大家有什么好的建議也可以和我交流。
轉(zhuǎn)載于:https://www.cnblogs.com/luyu/archive/2005/12/02/289178.html
總結(jié)
以上是生活随笔為你收集整理的露雨资源库(第一个.net2.0软件)二的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PMP考试的形式和试题分布
- 下一篇: thinkcmf安装模板需要点击右键打开