c#課程設(shè)計(jì)--公司抽獎(jiǎng)管理系統(tǒng)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論