|
星移斗轉(zhuǎn),時(shí)光似箭,不知不覺(jué)中,酒店管理系統(tǒng)的開(kāi)發(fā)從開(kāi)始到現(xiàn)在的結(jié)束,已經(jīng)2個(gè)月了,2個(gè)月的業(yè)余時(shí)間,2個(gè)月的生活情趣,都寄托在這個(gè)軟件當(dāng)中,經(jīng)歷了各種艱苦和困惑,終于得以修成正果---深田之星酒店管理系統(tǒng)的順利發(fā)布。
技術(shù)的歷程是一個(gè)開(kāi)拓進(jìn)取、攻克難題的歷程,其中有困惑也有興奮,有苦澀也有甜蜜, 在這個(gè)過(guò)程中,再一次檢閱了我的Database2Sharp代碼自動(dòng)生成的開(kāi)發(fā)工具的,再一次從“深田之星送水管理系統(tǒng)”進(jìn)行升華,技術(shù)從來(lái)沒(méi)有盡頭,只有不斷完善,以及不斷的超越和創(chuàng)新。在這個(gè)過(guò)程中,總會(huì)產(chǎn)生一系列的Q&A,碰到了一個(gè)難題,如何尋找相應(yīng)的解決方法,就是非常有趣的問(wèn)題了。
寫(xiě)這個(gè)隨筆的初衷主要不是宣傳我做的軟件,而是有感而發(fā),感隨物現(xiàn),介紹在其中歷程的一些思考和解決方法,介紹做這個(gè)酒店管理系統(tǒng)的一些界面和非界面,代碼和非代碼的東西,和大家做一個(gè)交流,希望大家能我從言之無(wú)物、略表空洞的文章中撿趣拾遺,略受啟發(fā)。言畢,曬上所做東西,在繼續(xù).......
整個(gè)系統(tǒng)的界面布局還是沿用我的“送水管理系統(tǒng)網(wǎng)絡(luò)版”的界面樣式,采用了OutlookBar + Wenfenluo停靠控件,客房狀態(tài)視圖、KTV狀態(tài)視圖、茶室狀態(tài)視圖等都是動(dòng)態(tài)展示相關(guān)的房間信息的,因此需要做成控件,整個(gè)控件結(jié)合了菜單操作,以及公布一些接口給界面調(diào)用顯示的,封裝這塊總的還是花費(fèi)了不少功夫,因?yàn)楹芏鄷r(shí)間花費(fèi)在尋找合適的控件上,尋找是否有人家造好的輪子,以免重復(fù)制造輪子。不過(guò)再好的輪子,要想用的好,都是需要修改和調(diào)整的。由于沒(méi)有找到很合適的,基本上這個(gè)界面都是自己封裝控件來(lái)實(shí)現(xiàn)的。下面幾篇文章我會(huì)詳細(xì)介紹一些這方面的知識(shí),為讀者,也為自己在技術(shù)方面做一個(gè)到此一游的標(biāo)記,N月之后,回頭看看,希望仍覺(jué)得有用,呵呵。
下面介紹一下另外一個(gè)部分,就是下圖左邊部分的顯示,它是一個(gè)很好的開(kāi)源控件,給我進(jìn)行了適當(dāng)?shù)姆庋b,里面的顯示內(nèi)容,可以隨意定制,因此在客服、KTV、茶室中公用一個(gè)狀態(tài)顯示窗口,但是顯示的內(nèi)容不同,界面效果還是不錯(cuò)的。左邊的狀態(tài)那塊用的是一個(gè)ExploreBar的控件,另外一個(gè)比普通按鈕好看的是一個(gè)不錯(cuò)的按鈕類,功能比較強(qiáng)大方便,可以設(shè)置 很多種效果,包括各種圖片的設(shè)置還是很方便的,我這里只是用了它的最原始效果。
下面這個(gè)是報(bào)表模塊中的一部分了,整個(gè)系統(tǒng)很多報(bào)表,報(bào)表都脫不了打印啊、導(dǎo)出啊的功能了,開(kāi)始想利用ActiveReport做為報(bào)表打印的,可是發(fā)現(xiàn)為每個(gè)不同的報(bào)表設(shè)計(jì)一個(gè)報(bào)表窗口,實(shí)在是消受不起,而且這些內(nèi)容又是重復(fù)再重復(fù)的了,因此利用我原先封裝好的分頁(yè)GridView控件就可以了,由于很多報(bào)表不需要分頁(yè)功能,因此再封裝一個(gè)不用分頁(yè),但是有導(dǎo)出、打印功能的GridView控件就可以了。封裝后的控件,既能解析類似List的格式數(shù)據(jù)源,也可以解析DataTable的數(shù)據(jù)格式,還可以對(duì)字段的顯示名稱隨意設(shè)置,感覺(jué)省了很多麻煩。
另外一個(gè)就是小票打印了,很多基本上采用了GP5860這種POS打印機(jī)進(jìn)行小票打印了,這種如果是串口的打印,那么很方便,我原來(lái)的送水系統(tǒng)中就實(shí)現(xiàn)了,而且網(wǎng)上也有POS打印的C#代碼,可是如果我偏偏碰到了USB口的小票打印機(jī),那么采用那個(gè)就不行了,而且那個(gè)沒(méi)有預(yù)覽功能,另外USB口的小票打印機(jī)和普通的打印機(jī)很容易弄錯(cuò)亂,不知道是否他們的打印原理差不多?因此必須解決小票打印機(jī)和普通打印機(jī)的打印問(wèn)題,即多個(gè)并存,互不影響。這個(gè)問(wèn)題可能是做進(jìn)銷存問(wèn)題,如果碰到打印機(jī)沖突,需要解決的問(wèn)題之一吧。
主要碰到的問(wèn)題,基本上就是上面這些,其他的很多事苦力活,界面的設(shè)計(jì)需要耐心細(xì)致,功能的開(kāi)發(fā)調(diào)試,更需要一份清晰的開(kāi)發(fā)思路。
在開(kāi)發(fā)這個(gè)系統(tǒng)的過(guò)程中,越來(lái)越感覺(jué)積累是很重要的東西(前面開(kāi)發(fā)的軟件經(jīng)驗(yàn)和代碼積累),開(kāi)發(fā)的輔助工具(如我的Database2Sharp代碼生成工具)也是必不可少,每次能夠在已有資源上有所創(chuàng)新,有所超越,是一個(gè)非常有趣的心理體驗(yàn)。
NET技術(shù):WinForm界面開(kāi)發(fā)之酒店管理系統(tǒng)--開(kāi)篇,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。