版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> C#程序設(shè)計(jì)課程設(shè)計(jì)</p><p> 題 目 公司抽獎(jiǎng)管理系統(tǒng)設(shè)計(jì) </p><p> 姓 名 </p><p> 專(zhuān) 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 學(xué) 號(hào) </p>
2、<p> 指導(dǎo)教師 </p><p><b> 二○一五年十一月</b></p><p><b> 摘 要</b></p><p> 公司抽獎(jiǎng)系統(tǒng)的設(shè)計(jì)是針對(duì)公司節(jié)日或活動(dòng)等為公司員工發(fā)放福利的設(shè)計(jì),其開(kāi)發(fā)主要包括前端應(yīng)用程序與界面的設(shè)計(jì)和后臺(tái)數(shù)據(jù)的建立與導(dǎo)入兩個(gè)方面
3、。對(duì)于前端要求易于操作且功能完整,隨機(jī)等特點(diǎn),而后臺(tái)要建立起一個(gè)相應(yīng)需求的數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的數(shù)據(jù)列表。</p><p> Visual Studio是微軟公司推出的開(kāi)發(fā)環(huán)境,是目前最流行的Windows平臺(tái)應(yīng)用程序開(kāi)發(fā)環(huán)境。Visual Studio 2010版本于2010年4月12日上市,其集成開(kāi)發(fā)環(huán)境(IDE)的界面被重新設(shè)計(jì)和組織,變得更加簡(jiǎn)單明了。所以本人此次采用微軟公司的Micros
4、oft Visual Studio 2010作為前端應(yīng)用程序開(kāi)發(fā)工具,同時(shí)利用Excel 建立后臺(tái)數(shù)據(jù),在本次課程設(shè)計(jì)中進(jìn)行了公司抽獎(jiǎng)管理系統(tǒng)的設(shè)計(jì)。本系統(tǒng)能方便而簡(jiǎn)潔地實(shí)現(xiàn)應(yīng)用程序運(yùn)行,易于操作,能很好的滿足公司快捷、方便、公平,有趣地發(fā)放獎(jiǎng)品的需求。</p><p> 關(guān)鍵詞:公司抽獎(jiǎng)系統(tǒng);Visual Studio 2010;Excel;IDE</p><p><b>
5、 目 錄</b></p><p><b> 引言1</b></p><p> 1系統(tǒng)的開(kāi)發(fā)背景2</p><p> 2需求分析2 </p><p> 2.1系統(tǒng)需求分析2</p><p> 2.2系統(tǒng)開(kāi)發(fā)的環(huán)境的選擇2<
6、/p><p><b> 3可行性分析3</b></p><p> 3.1經(jīng)濟(jì)的可行性3</p><p> 3.2技術(shù)的可行性3</p><p> 3.3操作的可行性4</p><p><b> 4系統(tǒng)功能設(shè)計(jì)4</b></p><p>
7、 5系統(tǒng)功能及流程圖4</p><p> 5.1系統(tǒng)功能圖4</p><p> 5.2系統(tǒng)流程圖5</p><p> 6數(shù)據(jù)的設(shè)計(jì)與創(chuàng)建6</p><p> 6.1在Excel建立的員工信息設(shè)計(jì)6</p><p> 6.2在Excel建立的獎(jiǎng)品清單設(shè)計(jì)6</p><p>
8、 7系統(tǒng)詳細(xì)設(shè)計(jì)部分及測(cè)試結(jié)果7</p><p> 7.1主頁(yè)面的設(shè)計(jì)及功能實(shí)現(xiàn)7</p><p> 7.1.1測(cè)試 16</p><p> 7.2數(shù)據(jù)導(dǎo)入頁(yè)面及功能的設(shè)計(jì)16</p><p> 7.2.1測(cè)試24</p><p> 7.3查看中獎(jiǎng)信息功能設(shè)計(jì)25</p><
9、;p> 7.3.1測(cè)試26</p><p><b> 8總結(jié)27</b></p><p><b> 參考文獻(xiàn)</b></p><p><b> 引言</b></p><p> 隨著計(jì)算機(jī)技術(shù)和經(jīng)濟(jì)的快速發(fā)展,現(xiàn)在各行各業(yè)都離不開(kāi)計(jì)算機(jī)。不論是企業(yè)的種種業(yè)務(wù)還
10、是各種公共設(shè)施建立等等都需要運(yùn)用計(jì)算機(jī)技術(shù),處理著大量的繁雜的問(wèn)題,實(shí)現(xiàn)快速有效的管理,大大提高了工作效率,同時(shí)在本次的系統(tǒng)設(shè)計(jì)運(yùn)用也具有一定的合理,公平,有趣性。</p><p> 本次的公司抽獎(jiǎng)系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)主要包括前端應(yīng)用程序以及后臺(tái)數(shù)據(jù)的建立和維護(hù)兩個(gè)方面。經(jīng)過(guò)分析,我建立了Excel數(shù)據(jù)并選用微軟公司的Microsoft Visual Studio 2010來(lái)開(kāi)發(fā)系統(tǒng),利用其提供的各種面向?qū)ο蟮拈_(kāi)發(fā)工
11、具,操縱建立的Excel數(shù)據(jù)。</p><p> 本論文正文分介紹了公司抽獎(jiǎng)系統(tǒng)開(kāi)發(fā)背景以及如何開(kāi)發(fā),并簡(jiǎn)要概述了Microsoft Visual Studio 2010 和Excel。介紹系統(tǒng)開(kāi)發(fā)前的準(zhǔn)備,包括系統(tǒng)的需求說(shuō)明及系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)和詳細(xì)設(shè)計(jì)和著重闡述了系統(tǒng)主要功能模塊的具體實(shí)現(xiàn)及是系統(tǒng)開(kāi)發(fā)的后期工作,講到了該系統(tǒng)的不完善之處及本次系統(tǒng)開(kāi)發(fā)過(guò)程中一些切身的感受與想法,是我做這次畢業(yè)設(shè)計(jì)的心得體會(huì)。&
12、lt;/p><p><b> 1系統(tǒng)開(kāi)發(fā)背景</b></p><p> 抽獎(jiǎng)活動(dòng)一般是很多企業(yè)或組織舉辦活動(dòng)的必備環(huán)節(jié)。傳統(tǒng)的翻牌抽獎(jiǎng)、轉(zhuǎn)盤(pán)抽獎(jiǎng)、砸金蛋及以前那種使用抽獎(jiǎng)箱+紙片,然后由嘉賓一個(gè)一個(gè)地抽取獎(jiǎng)項(xiàng)的方式早已落伍了且由于經(jīng)濟(jì)的飛速發(fā)展。隨著公司規(guī)模不斷擴(kuò)大,員工數(shù)量已是巨大,傳統(tǒng)的費(fèi)時(shí)費(fèi)力不說(shuō),還容易出錯(cuò),本來(lái)是喜慶的活動(dòng),讓大家掃興可就不好了。</p
13、><p> 在信息技術(shù)充分發(fā)展的今天,公司各種活動(dòng)年年創(chuàng)意,活動(dòng)抽獎(jiǎng)也要緊緊抓住“創(chuàng)新”理念步入后塵,因此一種新興的抽獎(jiǎng)方式正在悄然興起,那就是使用抽獎(jiǎng)軟件,這種方式具有很多傳統(tǒng)人工抽獎(jiǎng)所不具備的優(yōu)點(diǎn),比如抽取數(shù)量、速度、音樂(lè)、背景、畫(huà)面、場(chǎng)景、效果等,大大超出了傳統(tǒng)抽獎(jiǎng)方式所能帶來(lái)的體驗(yàn),讓參與活動(dòng)的人都能感受到計(jì)算機(jī)科技帶給我們的巨大驚喜。 </p><p><b> 2需
14、求分析</b></p><p><b> 2.1系統(tǒng)需求分析</b></p><p> 本次公司抽獎(jiǎng)系統(tǒng)需求分析就是針對(duì)此系統(tǒng)所需要的相關(guān)功能,確定系統(tǒng)的總體結(jié)構(gòu)方案,完成相應(yīng)的需求分析報(bào)告。在確定系統(tǒng)的總體結(jié)構(gòu)方案過(guò)程中,包括確定應(yīng)用程序的結(jié)構(gòu)、系統(tǒng)開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具的選擇。</p><p> 2.2系統(tǒng)開(kāi)發(fā)的環(huán)境的選擇&l
15、t;/p><p> Visual Studio 2010是微軟公司推出的集成開(kāi)發(fā)環(huán)境,是目前最流行的 Windows 平臺(tái)應(yīng)用程序開(kāi)發(fā)環(huán)境。它是把代碼的編寫(xiě)、程序的調(diào)試、編譯、運(yùn)行以及其他的相關(guān)操作都集成在一起的“編程工具”。 作用是程序員通過(guò)它這個(gè)平臺(tái),利用編程語(yǔ)言來(lái)寫(xiě)程序,調(diào)試,運(yùn)行。</p><p> Microsoft Excel是微軟公司的辦公軟件Microsoft office
16、的組件之一,是由Microsoft為Windows和Apple Macintosh操作系統(tǒng)的電腦而編寫(xiě)和運(yùn)行的一款試算表軟件。Excel 是微軟辦公套裝軟件的一個(gè)重要的組成部分,它可以進(jìn)行各種數(shù)據(jù)的處理、統(tǒng)計(jì)分析和輔助決策操作,廣泛地應(yīng)用于管理、統(tǒng)計(jì)財(cái)經(jīng)、金融等眾多領(lǐng)域。</p><p> 經(jīng)分析,本庫(kù)存管理系統(tǒng)選用Microsoft Visual Studio 2010來(lái)設(shè)計(jì)界面,選用Excel來(lái)建立后臺(tái)數(shù)據(jù)
17、。</p><p> 由于大多數(shù)公司內(nèi)部使用的計(jì)算機(jī)平臺(tái)都是基于Windows環(huán)境的。為了降低系統(tǒng)成本,應(yīng)最大程度地利用現(xiàn)有的資源、兼容現(xiàn)有的環(huán)境,可確定使用下面的開(kāi)發(fā)環(huán)境。</p><p> ?。?)數(shù)據(jù)建立工具:Microsoft Office Excel; </p><p> ?。?)前端開(kāi)發(fā)工具:Microsoft Visual Studio 2010;&
18、lt;/p><p><b> 3可行性分析</b></p><p><b> 3.1經(jīng)濟(jì)的可行性</b></p><p> 本公司抽獎(jiǎng)管理系統(tǒng)設(shè)計(jì)需求的硬件和軟件分別是計(jì)算機(jī)及相關(guān)硬件和軟件環(huán)境Microsoft Visual Studio 2010+Excel,對(duì)于硬件只需要到市場(chǎng)上購(gòu)買(mǎi)到而軟件只需要從相關(guān)網(wǎng)站下載,系
19、統(tǒng)成本主要集中在本管理系統(tǒng)的開(kāi)發(fā)與維護(hù)上,對(duì)公司不造成過(guò)重的經(jīng)濟(jì)負(fù)擔(dān)。此系統(tǒng)的投入使用改變了公司傳統(tǒng)的抽獎(jiǎng)方式,不需要消耗大量的人力物力,在此方面也節(jié)省了部分開(kāi)支而且是永久性的。人力、財(cái)力產(chǎn)生的效益將遠(yuǎn)遠(yuǎn)大于本系統(tǒng)的開(kāi)發(fā)成本,所以從經(jīng)濟(jì)方面考慮開(kāi)發(fā)這個(gè)系統(tǒng)是可行的。</p><p><b> 3.2技術(shù)的可行性</b></p><p> 技術(shù)上的可行性分析要考慮現(xiàn)
20、有技術(shù)條件能否順利完成開(kāi)發(fā)工作及將來(lái)要采用的硬件和軟件技術(shù)能否滿足公司抽獎(jiǎng)的要求,也就是所考慮當(dāng)前計(jì)算機(jī)技術(shù)和開(kāi)發(fā)者的技術(shù)水平兩方面。</p><p> 本系統(tǒng)選擇Microsoft Visual Studio 2010作為系統(tǒng)前臺(tái)應(yīng)用程序開(kāi)發(fā)工具,采用Excel工具建立數(shù)據(jù),并通過(guò)Microsoft Visual Studio 2010中的ADO控件使兩者進(jìn)行連接從而進(jìn)行系統(tǒng)軟件開(kāi)發(fā)。Microsoft Vi
21、sual Studio 2010由微軟不僅能幫助軟件開(kāi)發(fā)者提高軟件開(kāi)發(fā)的質(zhì)量和效率,縮短開(kāi)發(fā)周期,而且還具備強(qiáng)大的數(shù)據(jù)管理功能,學(xué)?,F(xiàn)有的計(jì)算機(jī)設(shè)備也完全能夠滿足開(kāi)發(fā)的需要。完全能夠滿足本系統(tǒng)的開(kāi)發(fā)需求。 </p><p> 另外,從開(kāi)發(fā)人員的技術(shù)水平考慮,作為一名即將畢業(yè)的計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)的大四畢業(yè)生,大學(xué)四年所積累的各項(xiàng)知識(shí)及本學(xué)期學(xué)習(xí)的C#語(yǔ)言使我在一定程度上具備了開(kāi)發(fā)一個(gè)簡(jiǎn)單的公司抽獎(jiǎng)系統(tǒng)的能力。&
22、lt;/p><p> 因此,綜合兩個(gè)方面,此次系統(tǒng)設(shè)計(jì)在技術(shù)上也是可行的。</p><p><b> 3.3操作的可行性</b></p><p> 傳統(tǒng)公司抽獎(jiǎng)方式,一般是設(shè)置抽獎(jiǎng)箱,讓人寫(xiě)出很多的紙條,又是人工手抽,方法可行,但沒(méi)有效率且對(duì)于如今繁榮的社會(huì)沒(méi)了新意,跟不上時(shí)代的潮流?,F(xiàn)在設(shè)計(jì)的公司抽獎(jiǎng)系統(tǒng),只需要將公司的員工的信息錄入系統(tǒng),
23、將各項(xiàng)要發(fā)放的獎(jiǎng)品名稱(chēng)錄入系統(tǒng),點(diǎn)擊開(kāi)始抽獎(jiǎng),搭建漂亮的舞臺(tái),讓員工的名字工號(hào)在大屏幕上滾動(dòng),隨機(jī)自動(dòng)選擇停止,呈現(xiàn)獲獎(jiǎng)人信息,大大提高了效率,也更具有趣味性。因此此系統(tǒng)在操作方面也具有可行性。</p><p><b> 4系統(tǒng)的功能設(shè)計(jì)</b></p><p> 本次公司抽獎(jiǎng)管理系統(tǒng)是對(duì)某公司的員工設(shè)計(jì)抽獎(jiǎng),它的的功能如下:</p><p&g
24、t; (1)Excel導(dǎo)入獎(jiǎng)品清單,參與抽獎(jiǎng)人員清單</p><p> 員工信息的錄入,增添、修改、刪除,清空</p><p> 獎(jiǎng)品信息的錄入,增添、修改、刪除,清空</p><p> (2)支持按順序抽獎(jiǎng),抽取某個(gè)獎(jiǎng)品,無(wú)限次抽取現(xiàn)金獎(jiǎng)</p><p> ?。?)抽中的人后面不會(huì)再出現(xiàn)</p><p>&l
25、t;b> 5系統(tǒng)功能及流程圖</b></p><p><b> 5.1系統(tǒng)功能圖</b></p><p><b> 5.2系統(tǒng)流程圖</b></p><p><b> 6數(shù)據(jù)的設(shè)計(jì)與創(chuàng)建</b></p><p> 6.1在Excel建立的員工信息設(shè)計(jì)
26、(序號(hào),工號(hào)及姓名)</p><p> 6.2在Excel建立的獎(jiǎng)品清單設(shè)計(jì)(序號(hào),獎(jiǎng)品名稱(chēng)及金額)</p><p> 7系統(tǒng)詳細(xì)設(shè)計(jì)部分及測(cè)試結(jié)果</p><p> 7.1主頁(yè)面的設(shè)計(jì)及功能實(shí)現(xiàn)</p><p> 頁(yè)面上有選項(xiàng)的抽取獎(jiǎng)品號(hào)碼,現(xiàn)金獎(jiǎng)和抽獎(jiǎng)、重抽、復(fù)位、退出,導(dǎo)入數(shù)據(jù)等等按鈕的設(shè)計(jì)。</p><p&
27、gt;<b> 代碼如下</b></p><p> using System;</p><p> using System.Collections.Generic;</p><p> using System.ComponentModel;</p><p> using System.Data;</p&g
28、t;<p> using System.Drawing;</p><p> using System.Text;</p><p> using System.Windows.Forms;</p><p> using System.Threading;</p><p> using System.Runtime.Int
29、eropServices;</p><p> using 抽é獎(jiǎng)±;</p><p> //|5|1|a|s|p||x</p><p> namespace 多à線?程ì_抽é獎(jiǎng)±</p><p><b> {</b></p><p&
30、gt; public partial class Form1 : Form</p><p><b> {</b></p><p> int curGiftId = Convert.ToInt16(SqlHelper.ExecuteScalar("select max(giftid) from T_Gift"));</p><
31、;p> Thread th = null;</p><p> public Form1()</p><p><b> {</b></p><p> InitializeComponent();</p><p> int k= lblLucknum.Width;</p><p>
32、this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; //隱皌藏?邊?框ò</p><p> dg = new DeShowMessageInLabel(ShowMessageInLabel);</p><p><b> }</b></p><p>
33、private void Form1_Load(object sender, EventArgs e)</p><p><b> {</b></p><p> //開(kāi)a啟?線?程ì間?調(diào)獺?用?</p><p> Control.CheckForIllegalCrossThreadCalls = false;</p>
34、<p><b> }</b></p><p> //產(chǎn)ú生Θ?隨?機(jī)ú數(shù)簓</p><p> public int GetRandom()</p><p><b> {</b></p><p> Random ra= new Random();</p
35、><p> int iUp = Convert.ToInt32(SqlHelper.ExecuteScalar("select max(UserId) from T_User "));</p><p> int iDown = Convert.ToInt32(SqlHelper.ExecuteScalar("select min(UserId) from T_
36、User "));</p><p> int tem= ra.Next(iDown, iUp);</p><p> return tem;</p><p><b> }</b></p><p> //獲?取?工¤號(hào)?</p><p> public string Ge
37、tLuckerWorkId(int userid)</p><p><b> {</b></p><p> return Convert.ToString(SqlHelper.ExecuteScalar("select WorkId from T_User where UserId="+userid));</p><p>
38、;<b> }</b></p><p> //獲?取?姓?名?</p><p> public string GetLuckerName(int userid)</p><p><b> {</b></p><p> return Convert.ToString(SqlHelper.Ex
39、ecuteScalar("select UserName from T_User where UserId=" + userid));</p><p><b> }</b></p><p> //獲?取?獎(jiǎng)±品·名?稱(chēng)?</p><p> public string GetGiftName(int
40、giftid)</p><p><b> {</b></p><p> return Convert.ToString(SqlHelper.ExecuteScalar("select GiftName from T_Gift where GiftId=" + giftid));</p><p><b> }&
41、lt;/b></p><p> //判D斷?是?否?中D過(guò)y獎(jiǎng)±</p><p> public bool IsLucker(int LuckerId)</p><p><b> {</b></p><p> string cmd = "select 1 from T_user A in
42、ner join T_Lucker B on A.UserId=B.LuckerId where A.UserId="+LuckerId;</p><p> object o = SqlHelper.ExecuteScalar(cmd);</p><p> if (o==null||o==DBNull.Value )</p><p><b>
43、 {</b></p><p> return false;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> return true;<
44、/p><p><b> }</b></p><p><b> }</b></p><p> //Lab顯?示?方?法ぁ?</p><p> void ShowMessageInLabel(string msg)</p><p><b> {</b>
45、</p><p> lblLucknum.Text=msg;</p><p><b> }</b></p><p> //委ˉ托狣顯?示?方?法ぁ?</p><p> delegate void DeShowMessageInLabel( string mseg);</p><p> D
46、eShowMessageInLabel dg = null;</p><p> //顯?示?號(hào)?碼?</p><p> public void ShowNum()</p><p><b> {</b></p><p> int i = 100;</p><p> int k = 500;
47、</p><p> while (true)</p><p><b> {</b></p><p><b> i--;</b></p><p> int luckid = GetRandom();</p><p> if (IsLucker(luckid))<
48、/p><p><b> {</b></p><p><b> continue;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b&g
49、t;</p><p> string luckerworkid = GetLuckerWorkId(luckid).Trim();</p><p> string luckername = GetLuckerName(luckid).Trim();</p><p> string mesg = luckerworkid + " " + lu
50、ckername;</p><p> this.Invoke(dg, mesg);</p><p> if (i < 100 && i >= 50)</p><p><b> {</b></p><p> Thread.Sleep(100-i);</p><p>
51、;<b> }</b></p><p> else if (i < 50 && i > 46)</p><p><b> {</b></p><p> k = k + 400;</p><p> Thread.Sleep(k);</p><p
52、><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> if (chkCrash.Checked == true)</p><p><b> {</b></p>
53、<p> lblLucknum.Text = "恭§喜2:阰" + lblLucknum.Text;</p><p> string cmd = "insert into T_Lucker(LuckerId,LuckerWorkId,LuckerName,LuckerGiftId,GiftName,Dtime)";</p><
54、p> cmd += "values(" + luckid + ",'" + luckerworkid + "','" + luckername + "',0,'現(xiàn)?金e獎(jiǎng)±','" + DateTime.Now + "')";</p><
55、p> SqlHelper.ExcutNonQuery(cmd);</p><p> th.Abort();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p&
56、gt; lblLucknum.Text = "恭§喜2:阰" + lblLucknum.Text;</p><p> string cmd = "insert into T_Lucker(LuckerId,LuckerWorkId,LuckerName,LuckerGiftId,GiftName,Dtime)";</p><p> c
57、md += "values(" + luckid + ",'" + luckerworkid + "','" + luckername + "'," + curGiftId + ",'" + GetGiftName(curGiftId) + "','" + Dat
58、eTime.Now + "')";</p><p> SqlHelper.ExcutNonQuery(cmd);</p><p> curGiftId--;</p><p> btnRestart.Enabled = true;</p><p> th.Abort();</p><p&g
59、t;<b> }</b></p><p><b> }</b></p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p>
60、 private void btnStart_Click(object sender, EventArgs e)</p><p> { //抽é現(xiàn)?金e獎(jiǎng)±</p><p> lblLucknum.ForeColor = System.Drawing.Color.Red;</p><p> if (chkCrash.Checked =
61、= true)</p><p><b> {</b></p><p> lblGiftName.Text = "現(xiàn)?金e獎(jiǎng)±";</p><p> Thread th1 = new Thread(new ThreadStart(ShowNum));</p><p><b>
62、 th = th1;</b></p><p> th.Start();</p><p> timer2.Start();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b
63、></p><p> if (curGiftId <= 0)</p><p><b> {</b></p><p> MessageBox.Show("獎(jiǎng)±品·已?經(jīng)-抽é完?了?");</p><p><b> return;</b
64、></p><p><b> }</b></p><p> if (txtGiftId.Text == "")</p><p><b> {</b></p><p> lblGiftName.Text = curGiftId.ToString() + "號(hào)
65、?獎(jiǎng)±品·:阰 " + GetGiftName(curGiftId);</p><p> Thread th1 = new Thread(new ThreadStart(ShowNum));</p><p><b> th = th1;</b></p><p> th.Start();</p>
66、<p> timer2.Start();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> curGiftId = Convert.ToInt16(txtGiftId.T
67、ext);</p><p> lblGiftName.Text = Convert.ToInt16(txtGiftId.Text) + "號(hào)?獎(jiǎng)±品·:阰 " + GetGiftName(Convert.ToInt16(txtGiftId.Text));</p><p> Thread th1 = new Thread(new ThreadSta
68、rt(ShowNum));</p><p><b> th = th1;</b></p><p> th.Start();</p><p> timer2.Start();</p><p> txtGiftId.Text = "";</p><p><b>
69、 }</b></p><p><b> }</b></p><p><b> }</b></p><p> //產(chǎn)ú生Θ?閃Θ?爍?效§果?</p><p> private void timer1_Tick(object sender, EventArgs
70、e)</p><p><b> {</b></p><p> if(lblLucknum.ForeColor == System.Drawing.Color.Red)</p><p><b> {</b></p><p> lblLucknum.ForeColor = System.Draw
71、ing.Color.Yellow;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> lblLucknum.ForeColor = System.Drawing.Color.Red;
72、</p><p><b> }</b></p><p><b> }</b></p><p> //控?制?閃Θ?爍?效§果?</p><p> private void timer2_Tick(object sender, EventArgs e)</p><
73、p><b> {</b></p><p> if (!th.IsAlive)</p><p><b> {</b></p><p> timer1.Start();</p><p> btnStart.Enabled = true;</p><p><b
74、> }</b></p><p><b> else </b></p><p><b> {</b></p><p> timer1.Stop();</p><p> lblLucknum.Visible = true;</p><p> btnS
75、tart.Enabled = false;</p><p><b> }</b></p><p><b> }</b></p><p> private void btnQuit_Click(object sender, EventArgs e)</p><p><b> {<
76、;/b></p><p> this.Dispose(true);</p><p> this.Close();</p><p> Application.Exit();</p><p><b> }</b></p><p><b> //重?抽é</b&
77、gt;</p><p> private void btnRestart_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> curGiftId++;</p><p> lblGiftName.Text = curGiftId.ToStrin
78、g() + "號(hào)?獎(jiǎng)±品·:阰 " + GetGiftName(curGiftId);</p><p> Thread th1 = new Thread(new ThreadStart(ShowNum));</p><p><b> th = th1;</b></p><p> th.Start()
79、;</p><p> timer2.Start();</p><p> btnRestart.Enabled = false;</p><p><b> }</b></p><p> private void btnReset_Click(object sender, EventArgs e)</p>
80、<p><b> {</b></p><p> SqlHelper.ExcutNonQuery("delete from T_Lucker");</p><p> lblGiftName.Text = "";</p><p> lblLucknum.Text = "&quo
81、t;;</p><p> MessageBox.Show("復(fù)′位?成é功|!?");</p><p><b> }</b></p><p> //快ì捷Y鍵ü設(shè)Θ?置?</p><p> private void Form1_KeyDown(object sen
82、der, KeyEventArgs e)</p><p><b> {</b></p><p> switch (e.KeyCode)</p><p><b> {</b></p><p> case Keys.F1:</p><p> btnStart.Perfo
83、rmClick();</p><p><b> break;</b></p><p> case Keys.F2:</p><p> btnRestart.PerformClick();</p><p><b> break;</b></p><p><b>
84、; }</b></p><p><b> }</b></p><p> private void btnInput_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Form2 f2 = new Form
85、2();</p><p> f2.Show();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 7.1.1測(cè)試</b></
86、p><p> 在抽獎(jiǎng)號(hào)碼下添加1號(hào),點(diǎn)擊抽獎(jiǎng),頁(yè)面中間出現(xiàn)1號(hào)獎(jiǎng)品IPAD一臺(tái)同時(shí)頁(yè)面上中獎(jiǎng)?wù)咝彰c相對(duì)應(yīng)的工號(hào)不停變換和閃爍指導(dǎo)停止產(chǎn)生中獎(jiǎng)?wù)?,運(yùn)行測(cè)試的整體效果如下圖,也可以重抽,復(fù)位。</p><p> 7.2數(shù)據(jù)導(dǎo)入頁(yè)面及功能的設(shè)計(jì)</p><p><b> 功能內(nèi)容如下</b></p><p><b&g
87、t; 清空數(shù)據(jù)</b></p><p><b> 導(dǎo)入人員名單</b></p><p><b> 導(dǎo)入獎(jiǎng)品清單</b></p><p><b> 查看中獎(jiǎng)人</b></p><p> using System;</p><p>
88、using System.Collections.Generic;</p><p> using System.ComponentModel;</p><p> using System.Data;</p><p> using System.Drawing;</p><p> using System.Text;</p>
89、<p> using System.Windows.Forms;</p><p> using System.Data.OleDb;</p><p> namespace 抽é獎(jiǎng)±</p><p><b> {</b></p><p> public partial class
90、 Form2 : Form</p><p><b> {</b></p><p> public Form2()</p><p><b> {</b></p><p> InitializeComponent();</p><p> // btnInputUser.
91、Enabled = false;</p><p> // btnInputGift.Enabled = false;</p><p><b> }</b></p><p> private void btnChoseUser_Click(object sender, EventArgs e)</p><p><
92、;b> {</b></p><p> OpenFileDialog ofdlgUser = new OpenFileDialog();</p><p> ofdlgUser.Filter = "Excel文?件t(*.xls)|*.xls";</p><p> if (ofdlgUser.ShowDialog() ==
93、DialogResult.OK)</p><p><b> {</b></p><p> string filePath = ofdlgUser.FileName;</p><p> this.txtUser.Text = filePath;</p><p><b> }</b></p
94、><p><b> }</b></p><p> private void btnChoseGift_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> OpenFileDialog ofdlgGift = new Open
95、FileDialog();</p><p> ofdlgGift.Filter = "Excel文?件t(*.xls)|*.xls";</p><p> if (ofdlgGift.ShowDialog() == DialogResult.OK)</p><p><b> {</b></p><p&
96、gt; string filePath = ofdlgGift.FileName;</p><p> this.txtGift.Text = filePath;</p><p><b> }</b></p><p><b> }</b></p><p> private void btnI
97、nputUser_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (txtUser.Text.Length == 0)</p><p><b> {</b></p><p> MessageBox.Show(&
98、quot;請(qǐng)?選?擇?導(dǎo)?入?數(shù)簓據(jù)Y的?Execl文?件t");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> try</b></
99、p><p><b> {</b></p><p> OleDbConnectionStringBuilder connectStringBuilder = new OleDbConnectionStringBuilder();</p><p> connectStringBuilder.DataSource = this.txtUser.Te
100、xt.Trim();</p><p> connectStringBuilder.Provider = "Microsoft.Jet.OLEDB.4.0";</p><p> connectStringBuilder.Add("Extended Properties", "Excel 8.0");</p><
101、;p> using (OleDbConnection cn = new OleDbConnection(connectStringBuilder.ConnectionString))</p><p><b> {</b></p><p> DataSet ds = new DataSet();</p><p> string sq
102、l = "Select * from [抽é獎(jiǎng)±名?單蹋?]";</p><p> OleDbCommand cmdLiming = new OleDbCommand(sql, cn);</p><p> cn.Open();</p><p> using (OleDbDataReader drLiming = cmdL
103、iming.ExecuteReader())</p><p><b> {</b></p><p> ds.Load(drLiming, LoadOption.OverwriteChanges, new string[] { "抽é獎(jiǎng)±名?單蹋? });</p><p> DataTable dt = ds.
104、Tables["抽é獎(jiǎng)±名?單蹋?];</p><p> if (dt.Rows.Count > 0)</p><p><b> {</b></p><p> for (int i = 0; i < dt.Rows.Count; i++)</p><p><b>
105、 {</b></p><p> //寫(xiě)′入?數(shù)簓據(jù)Y庫(kù)a數(shù)簓據(jù)Y</p><p> string MySql = "insert into T_User(UserId,WorkId,UserName) values('" + dt.Rows[i]["UserId"].ToString() + "','
106、;" + dt.Rows[i]["WorkId"].ToString() + "','" + dt.Rows[i]["UserName"].ToString() + "')";</p><p> SqlHelper.ExcutNonQuery(MySql);</p><p>
107、<b> }</b></p><p> MessageBox.Show("數(shù)簓據(jù)Y導(dǎo)?入?成é功|!?");</p><p><b> }</b></p><p><b> else</b></p><p><b> {<
108、/b></p><p> MessageBox.Show("請(qǐng)?檢ì查é你?的?Excel中D是?否?存?在ú數(shù)簓據(jù)Y");</p><p><b> }</b></p><p><b> }</b></p><p><b>
109、 }</b></p><p><b> }</b></p><p> catch (Exception ex)</p><p><b> {</b></p><p> MessageBox.Show(ex.ToString());</p><p><
110、b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> private void btnInputGift_Click(object sender, EventArgs e)</p><p><b> {&
111、lt;/b></p><p> if (txtGift.Text.Length == 0)</p><p><b> {</b></p><p> MessageBox.Show("請(qǐng)?選?擇?導(dǎo)?入?數(shù)簓據(jù)Y的?Execl文?件t");</p><p><b> }</
112、b></p><p><b> else</b></p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p> OleDbConnection
113、StringBuilder connectStringBuilder = new OleDbConnectionStringBuilder();</p><p> connectStringBuilder.DataSource = this.txtGift.Text.Trim();</p><p> connectStringBuilder.Provider = "Micro
114、soft.Jet.OLEDB.4.0";</p><p> connectStringBuilder.Add("Extended Properties", "Excel 8.0");</p><p> using (OleDbConnection cn = new OleDbConnection(connectStringBuilder
115、.ConnectionString))</p><p><b> {</b></p><p> DataSet ds = new DataSet();</p><p> string sql = "Select * from [獎(jiǎng)±品·清?單蹋?]";</p><p> O
116、leDbCommand cmdLiming = new OleDbCommand(sql, cn);</p><p> cn.Open();</p><p> using (OleDbDataReader drLiming = cmdLiming.ExecuteReader())</p><p><b> {</b></p>
117、<p> ds.Load(drLiming, LoadOption.OverwriteChanges, new string[] { "獎(jiǎng)±品·清?單蹋? });</p><p> DataTable dt = ds.Tables["獎(jiǎng)±品·清?單蹋?];</p><p> if (dt.Rows.Count &
118、gt; 0)</p><p><b> {</b></p><p> for (int i = 0; i < dt.Rows.Count; i++)</p><p><b> {</b></p><p> //寫(xiě)′入?數(shù)簓據(jù)Y庫(kù)a數(shù)簓據(jù)Y</p><p> s
119、tring MySql = "insert into T_Gift(GiftId,GiftName) values('" + dt.Rows[i]["GiftId"].ToString() + "','" + dt.Rows[i]["GiftName"].ToString() + "')";</p&g
120、t;<p> SqlHelper.ExcutNonQuery(MySql);</p><p><b> }</b></p><p> MessageBox.Show("數(shù)簓據(jù)Y導(dǎo)?入?成é功|!?");</p><p><b> }</b></p><
121、p><b> else</b></p><p><b> {</b></p><p> MessageBox.Show("請(qǐng)?檢ì查é你?的?Excel中D是?否?存?在ú數(shù)簓據(jù)Y");</p><p><b> }</b></p&
122、gt;<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> catch (Exception ex)</p><p><b> {</b></p>
123、<p> MessageBox.Show(ex.ToString());</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> private void btnClean_Clic
124、k(object sender, EventArgs e)</p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p> SqlHelper.ExcutNonQuery("delete
125、from T_User");</p><p> SqlHelper.ExcutNonQuery("delete from T_Gift");</p><p> btnInputUser.Enabled = true;</p><p> btnInputGift.Enabled = true;</p><p>
126、; MessageBox.Show("數(shù)簓據(jù)Y已?經(jīng)-清?空?!?");</p><p><b> }</b></p><p> catch (Exception ex)</p><p><b> {</b></p><p> MessageBox.Show(ex.To
127、String());</p><p><b> }</b></p><p><b> }</b></p><p> private void btnGetUser_Click(object sender, EventArgs e)</p><p><b> {</b>&
128、lt;/p><p><b> try</b></p><p><b> {</b></p><p> DataTable table = SqlHelper.datateble("Select * from T_User");</p><p> dgvwUser.DataSo
129、urce = table;</p><p><b> }</b></p><p> catch (Exception ex)</p><p><b> {</b></p><p> MessageBox.Show(ex.ToString());</p><p><
130、;b> }</b></p><p><b> }</b></p><p> private void btnGetGift_Click(object sender, EventArgs e)</p><p><b> {</b></p><p><b> try
131、</b></p><p><b> {</b></p><p> DataTable table = SqlHelper.datateble("Select * from T_Gift");</p><p> dgvwGift.DataSource = table;</p><p>
132、<b> }</b></p><p> catch (Exception ex)</p><p><b> {</b></p><p> MessageBox.Show(ex.ToString());</p><p><b> }</b></p><
133、;p><b> }</b></p><p> private void Form2_Load(object sender, EventArgs e)</p><p><b> {</b></p><p><b> }</b></p><p> private v
134、oid btnView_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Form3 f3 = new Form3();</p><p> f3.Show();</p><p><b> }</b></p>
135、<p><b> }</b></p><p><b> }</b></p><p><b> 7.2.1測(cè)試</b></p><p> 點(diǎn)擊主頁(yè)面的導(dǎo)入數(shù)據(jù)進(jìn)入數(shù)據(jù)導(dǎo)入頁(yè)面可以分別點(diǎn)擊人員名單,獎(jiǎng)品名單右方的選擇按鈕,可以導(dǎo)入已做好的Excel數(shù)據(jù)表。數(shù)據(jù)導(dǎo)入框圖如下</p
136、><p> 7.3查看中獎(jiǎng)信息功能設(shè)計(jì)</p><p> using System;</p><p> using System.Collections.Generic;</p><p> using System.ComponentModel;</p><p> using System.Data;</p
137、><p> using System.Drawing;</p><p> using System.Text;</p><p> using System.Windows.Forms;</p><p> namespace 抽é獎(jiǎng)±</p><p><b> {</b>&
138、lt;/p><p> public partial class Form3 : Form</p><p><b> {</b></p><p> public Form3()</p><p><b> {</b></p><p> InitializeComponent
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c#課程設(shè)計(jì)—模擬抽獎(jiǎng)軟件設(shè)計(jì)
- 宿舍管理系統(tǒng)課程設(shè)計(jì)報(bào)告(c#)
- c#酒店管理課程設(shè)計(jì)
- c#圖書(shū)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)c#
- c#學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- c#課程設(shè)計(jì)--網(wǎng)上購(gòu)物系統(tǒng)
- 用c#做火車(chē)訂票管理系統(tǒng)課程設(shè)計(jì)
- c#課程設(shè)計(jì)學(xué)生信息管理系統(tǒng) 論文
- c#課程設(shè)計(jì)公交卡管理系統(tǒng)論文
- c#學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c#學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)(net)
- 賓館管理系統(tǒng)c#數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- c_課程設(shè)計(jì)---模擬抽獎(jiǎng)軟件設(shè)計(jì)
- c-課程設(shè)計(jì)—模擬抽獎(jiǎng)軟件設(shè)計(jì)
- 基于c#的研究生管理系統(tǒng)課程設(shè)計(jì)
- c#課程設(shè)計(jì) 研究生信息管理系統(tǒng)
- c#課程設(shè)計(jì)--小區(qū)物業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 拼數(shù)字游戲c#課程設(shè)計(jì)
- c#課程設(shè)計(jì)圖書(shū)館信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論