2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩22頁(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><b>  課程設(shè)計(jì)說(shuō)明書</b></p><p>  (2008/2009學(xué)年第一學(xué)期)</p><p>  課程名稱 : 軟件程序設(shè)計(jì)課程設(shè)計(jì) </p><p>  題 目 : 電子郵件客戶端發(fā)送功能 </p><p>  專業(yè)班級(jí) : 電子信息

2、工程06級(jí)1班 </p><p><b>  目錄</b></p><p>  目錄..............................................................................................................................................

3、...1</p><p>  課程設(shè)計(jì)目的................................................................................................................................2</p><p>  軟件分析...............................

4、.........................................................................................................2</p><p>  軟件總體設(shè)計(jì).....................................................................................

5、........................................... 4</p><p>  3、1 軟件框架結(jié)構(gòu)........................................................................................................................ 4</p><p>

6、;  3、2 軟件設(shè)計(jì)流圖.........................................................................................................................5</p><p>  3、3軟件設(shè)計(jì)需要的數(shù)據(jù)庫(kù).................................................

7、.........................................................5</p><p>  3.3 窗體的實(shí)現(xiàn) ...............................................................6</p><p>  3.3.1進(jìn)入界面部分的代碼及窗體frmMain.cs...............

8、....................6</p><p>  3.3.2發(fā)送郵件的界面的代碼及其窗體Emailsend.cs ...........................................................9</p><p>  3.3.3、通訊錄頁(yè)面的核心代碼及窗體Groupemail .cs...........................

9、................................11</p><p>  3.3.4、添加聯(lián)系人的代碼和窗體AddFriend.cs................................................................... ...14</p><p>  3.3.5草稿箱界面的核心代碼及窗體frmScript.cs .......

10、........................................................... 17</p><p>  軟件發(fā)布.....................................................................19</p><p>  課程設(shè)計(jì)總結(jié)...............................

11、..................................20</p><p>  參考文獻(xiàn).....................................................................21</p><p>  7、指導(dǎo)老師評(píng)價(jià).......................................................

12、..........22</p><p><b>  1、課程設(shè)計(jì)目的</b></p><p>  面向過(guò)程程序具有開(kāi)發(fā)周期短、運(yùn)行效率高等優(yōu)點(diǎn),但是一旦程序大了,面向過(guò)程程序設(shè)計(jì)方法就顯現(xiàn)出它的局限性,如數(shù)據(jù)缺乏保護(hù)等。而面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言使得程序員能夠較直接地模擬現(xiàn)實(shí)世界問(wèn)題領(lǐng)域。</p><p>  我們?cè)趯W(xué)習(xí)面向過(guò)程的編程基礎(chǔ)上學(xué)習(xí)面

13、向?qū)ο缶幊?,是為了能更好的理解面向?qū)ο蟮暮x以及與面向過(guò)程的區(qū)別.學(xué)習(xí)C#這門可視化編程語(yǔ)言,使我們編寫程序的過(guò)程中,能更直觀的編寫出程序,使編譯工作變單易行.C#具有更強(qiáng)大的功能。</p><p>  學(xué)習(xí)c#這門課程后,我們不僅僅是要學(xué)會(huì)編寫一些簡(jiǎn)單的小程序,我們更應(yīng)該理解c#語(yǔ)言的內(nèi)含,并運(yùn)用它來(lái)實(shí)現(xiàn)更重要的實(shí)踐應(yīng)用中。因此,我們這次進(jìn)行的軟件課程設(shè)計(jì)不僅僅是要完成每個(gè)人的小軟件,更要進(jìn)一步深刻理解自己所設(shè)

14、計(jì)軟件時(shí)寫的代碼,為以后的工作打下基礎(chǔ)。同時(shí),這次軟件課程設(shè)計(jì)也可以增強(qiáng)我們的動(dòng)手能力。</p><p>  我們這次課程設(shè)計(jì)的題目是“電子郵件客戶端發(fā)送功能的實(shí)現(xiàn)”,做這個(gè)課題,首先需要我們對(duì)常見(jiàn)的電子郵件客戶端軟件(如 Outlook、Foxmail)進(jìn)行分析,熟悉設(shè)計(jì)任務(wù),確定系統(tǒng)設(shè)計(jì)目標(biāo)。熟練掌握數(shù)據(jù)庫(kù)的基本操作:包括數(shù)據(jù)庫(kù)、表建立,數(shù)據(jù)庫(kù)的連接,數(shù)據(jù)的添加、刪除、修改等。深入學(xué)習(xí)System.Net.M

15、ail命名空間及其使用,掌握郵件發(fā)送功能的實(shí)現(xiàn)。</p><p><b>  軟件分析</b></p><p>  電子郵件(簡(jiǎn)稱E-mai1)又稱電子信箱、電子郵政,它是—種用電子手段提供信息交換的通信方式。它是全球多種網(wǎng)絡(luò)上使用最普遍的一項(xiàng)服務(wù)。這種非交互式的通信,加速了信息的交流及數(shù)據(jù)傳送,它是—個(gè)簡(jiǎn)易、快速的方法。通過(guò)連接全世界的Internet,實(shí)現(xiàn)各類信號(hào)

16、的傳送、接收、存貯等處理,將郵件送到世界的各個(gè)角落。到目前為止,可以說(shuō)電子郵件是Internet資源使用最多的一種服務(wù),E-mai1不只局限于信件的傳遞,還可用來(lái)傳遞文件、聲音及圖形、圖像等不同類型的信息。</p><p>  電子郵件不是一種“終端到終端”的服務(wù),是被稱為“存貯轉(zhuǎn)發(fā)式”服務(wù)。這正是電子信箱系統(tǒng)的核心,利用存貯轉(zhuǎn)發(fā)可進(jìn)行非實(shí)時(shí)通信,屬異步通信方式。即信件發(fā)送者可隨時(shí)隨地發(fā)送郵件,不要求接收者同時(shí)在

17、場(chǎng),即使對(duì)方現(xiàn)在不在,仍可將郵件立刻送到對(duì)方的信箱內(nèi),且存儲(chǔ)在對(duì)方的電子郵箱中。接收者可在他認(rèn)為方便的時(shí)候讀取信件,不受時(shí)空限制。在這里,“發(fā)送”郵件意味著將郵件放到收件人的信箱中,而“接收”郵件則意味著從自己的信箱中讀取信件,信箱實(shí)際上是由文件管理系統(tǒng)支持的—個(gè)實(shí)體。因?yàn)殡娮余]件是通過(guò)郵件服務(wù)器(mai1 server)來(lái)傳遞檔的。通常mail server是執(zhí)行多任務(wù)操作系統(tǒng)UNIX的計(jì)算機(jī),它提供24小時(shí)的電子郵件服務(wù),用戶只要向

18、 mail server管理人員申請(qǐng)—個(gè)信箱賬號(hào),就可使用這項(xiàng)快速的郵件服務(wù)。</p><p>  電子郵件的工作原理:1) 電子郵件系統(tǒng)是一種新型的信息系統(tǒng),是通信技術(shù)和計(jì)算機(jī)技術(shù)結(jié)合的產(chǎn)物。電子郵件的傳輸是通過(guò)電子郵件簡(jiǎn)單傳輸協(xié)議(Simple Mail Transfer Protocol,簡(jiǎn)稱SMTP)這一系統(tǒng)軟件來(lái)完成的,它是Internet下的一種電子郵件通信協(xié)議。2) 電子郵件的基本原理,是在通

19、信網(wǎng)上設(shè)立“電子信箱系統(tǒng)”,它實(shí)際上是一個(gè)計(jì)算機(jī)系統(tǒng)。系統(tǒng)的硬件是一個(gè)高性能、大容量的計(jì)算機(jī)。硬盤作為信箱的存儲(chǔ)介質(zhì),在硬盤上為用戶分一定的存儲(chǔ)空間作為用戶的“信箱”,每位用戶都有屬于自己的—個(gè)電子信箱。并確定—個(gè)用戶名和用戶可以自己隨意修改的口令。存儲(chǔ)空間包含存放所收信件、編輯信件以及信件存盤三部分空間,用戶使用口令開(kāi)啟自己的信箱,并進(jìn)行發(fā)信、讀信、編輯、轉(zhuǎn)發(fā)、存檔等各種操作。系統(tǒng)功能主要由軟件實(shí)現(xiàn)。3) 電子郵件的通信是在信箱之間

20、進(jìn)行的。用戶首先開(kāi)啟自己的信箱,然后通過(guò)鍵入命令的方式將需要發(fā)送的郵件發(fā)到對(duì)方的信箱中。郵件在信箱之間進(jìn)行傳遞和交換,也可以與另—個(gè)郵件系統(tǒng)進(jìn)行傳遞和交換。收方在取信時(shí),使用特定賬號(hào)從信箱提取。</p><p>  電子郵件在當(dāng)今社會(huì)中扮演了一個(gè)很重要的角色。越來(lái)越多的人在使用它。而且用它的人數(shù)勢(shì)必會(huì)繼續(xù)增加。雖然,現(xiàn)在已經(jīng)有很多的郵件收發(fā)軟件例如著名的FoxMail 但是對(duì)于大多數(shù)的非專業(yè)的人來(lái)說(shuō)它還是有點(diǎn)難度

21、。SMTP全稱是簡(jiǎn)單郵件傳輸協(xié)議,它專門用來(lái)發(fā)送郵件用的。Pop全稱是郵局協(xié)議,是專門用于接收郵件的。</p><p>  我們這次課程設(shè)計(jì)主要目的就是設(shè)計(jì)一個(gè)電子郵件客戶端,實(shí)現(xiàn)郵件發(fā)送和好友管理的功能 。本系統(tǒng)的功能具體要求如下:</p><p>  1、系統(tǒng)功能采用Windows窗體實(shí)現(xiàn);</p><p>  2、系統(tǒng)面向單個(gè)用戶設(shè)計(jì);</p>

22、<p>  3、用戶可以管理自己的多個(gè)郵箱,每一次郵件發(fā)送可以選擇郵箱;</p><p>  4、用戶可以管理自己的地址簿;</p><p>  5、用戶可以編輯、暫存、發(fā)送電子郵件。</p><p><b>  軟件總體設(shè)計(jì) </b></p><p>  3、1 軟件框架結(jié)構(gòu) </p><

23、p>  3、2 軟件設(shè)計(jì)流圖</p><p><b>  Y</b></p><p>  3、3軟件設(shè)計(jì)需要的數(shù)據(jù)庫(kù)</p><p>  數(shù)據(jù)庫(kù)名稱:lyyu ,數(shù)據(jù)庫(kù)中的表有:FriendInfo表和EmailScript表</p><p>  1)FriendInfo 表,表的定義為:</p>&

24、lt;p>  FriendInfo 表中的數(shù)據(jù)主要有:</p><p>  注:FriendInfo 表主要是用來(lái)添加到通訊錄的,在添加收件人的時(shí)候可以直接從數(shù)據(jù)庫(kù)中選擇。</p><p>  2)EmailScript表的定義如下:</p><p>  EmailScript表中的數(shù)據(jù)如下:</p><p>  注:EmailScri

25、pt表是用來(lái)存放用戶寫的暫存下來(lái)的郵件的,在寫了郵件后,如果不想發(fā)送,就可以暫存下來(lái)到EmailScript表。</p><p><b>  3.3 窗體的實(shí)現(xiàn)</b></p><p>  根據(jù)劃分的模塊以及要實(shí)現(xiàn)的功能創(chuàng)建窗體,導(dǎo)入需要的命名空間,向窗體中添加合適的控件并對(duì)窗體進(jìn)行美化。</p><p>  3.3.1進(jìn)入界面部分的代碼及窗體

26、frmMain.Cs</p><p>  此界面主要是用來(lái)美化系統(tǒng),歡迎用戶使用此系統(tǒng),點(diǎn)擊確定即可進(jìn)入發(fā)送頁(yè)面的窗體,點(diǎn)擊返回按鈕,即可退出此系統(tǒng)。</p><p>  此界面主要使用了textbox和button 兩種控件,具體的實(shí)現(xiàn)代碼如下:</p><p>  點(diǎn)擊確定按鈕后即可進(jìn)入Emailsend窗體的界面的代碼:</p><p>

27、;  private void btnOk_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  Emailsend froma=new Emailsend();</p><p>  froma.Show();</p><p>  this.Hid

28、e();</p><p><b>  }</b></p><p><b>  }</b></p><p>  點(diǎn)擊關(guān)閉按鈕后的代碼:</p><p>  private void frmMain_FormClosing(object sender, FormClosingEventArgs e)&l

29、t;/p><p><b>  {</b></p><p>  DialogResult rst = MessageBox.Show(this, "您真的要退出電子郵件發(fā)送系統(tǒng)嗎?", "提示",</p><p>  MessageBoxButtons.YesNo, MessageBoxIcon.Questio

30、n);</p><p>  switch (rst)</p><p><b>  {</b></p><p>  case DialogResult.Yes:</p><p>  Application.ExitThread();</p><p>  Application.Exit();<

31、/p><p><b>  break;</b></p><p>  case DialogResult.No:</p><p>  e.Cancel = true;</p><p><b>  break;</b></p><p><b>  }</b>&l

32、t;/p><p><b>  }</b></p><p>  private void btnExit_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  Application.Exit();</p><p

33、><b>  }</b></p><p>  改變窗體大小的代碼:</p><p>  private void frmMain_SizeChanged(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (this.Win

34、dowState == FormWindowState.Minimized)</p><p><b>  {</b></p><p>  //不顯示在系統(tǒng)任務(wù)欄</p><p>  this.ShowInTaskbar = false;</p><p><b>  }</b></p>

35、<p><b>  }</b></p><p>  3.3.2發(fā)送郵件的界面的代碼及其窗體Emailsend.cs</p><p>  此界面主要是用來(lái)寫郵件的,可以在此界面實(shí)現(xiàn)寫郵件,保存郵件,發(fā)送郵件,并清空寫入的信息等功能,點(diǎn)擊返回按鈕可以返回frmMain界面,而且通過(guò)使用button控件名為通訊錄,點(diǎn)擊按鈕,即可進(jìn)入通訊錄界面,在通訊錄界面選中相應(yīng)

36、的收件人,點(diǎn)擊確定按鈕即可把選中的聯(lián)系人添加到收件人處。而且通過(guò)menuStrip控件添加了草稿箱。點(diǎn)擊這個(gè)控件即可進(jìn)入草稿箱界面。另外,我添加了timer1控件,再加入lable控件,即可將當(dāng)前時(shí)間顯示在lable控件上面。</p><p><b>  保存時(shí)的窗體界面:</b></p><p>  在這個(gè)界面上主要使用了button、textbox、lable、t

37、imer1、menusrip等控件,具體的代碼如下:</p><p>  顯示時(shí)間的核心代碼如下:</p><p>  timer1.Enabled = true;</p><p>  瀏覽附件的核心代碼如下:</p><p>  openFileDialog1.InitialDirectory = "c:\\";<

38、/p><p>  openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";</p><p>  openFileDialog1.FilterIndex = 2;</p><p>  openFileDialog1.RestoreDirectory = true;&l

39、t;/p><p>  openFileDialog1.ShowDialog();</p><p>  txtAttachment.Text = openFileDialog1.FileName;</p><p>  保存郵件的按鈕如下:</p><p><b>  int i;</b></p><p>

40、;<b>  try</b></p><p><b>  {</b></p><p>  i = OperateDB.ExecuteNonQuery</p><p>  ("INSERT INTO EmailScript(Receiver,Subject,Body,Attachment,DataTime) VAL

41、UES('" + txtReceiver.Text .Trim()+ "','" + txtSubject.Text.Trim() + "','" + txtContent.Text.Trim() + "','" + txtAttachment.Text.Trim() + "','&qu

42、ot; +label7.Text.Trim() + "')");</p><p>  if (i == 1)</p><p>  { MessageBox.Show("保存成功!");</p><p>  catch{ MessageBox.Show("保存未完成!", "出錯(cuò)啦"

43、;, MessageBoxButtons.OK, MessageBoxIcon.Error);</p><p><b>  }}</b></p><p>  發(fā)送郵件的代碼如下:</p><p>  MailMessage msg = new MailMessage(txtSender.Text.Trim(), txtReceiver.Text

44、.Trim(), txtSubject.Text.Trim(), txtContent.Text.Trim());</p><p>  Attachment data = new Attachment(txtAttachment.Text);</p><p>  msg.Attachments.Add(data);</p><p>  System.Net.Mail

45、.SmtpClient sc = new System.Net.Mail.SmtpClient("mail.139.com ");</p><p>  sc.Credentials = CredentialCache.DefaultNetworkCredentials;</p><p>  sc.Send(msg);</p><p>  Mess

46、ageBox.Show("發(fā)送成功!");</p><p>  清除郵件的內(nèi)容的核心代碼如下:</p><p>  txtReceiver.Clear();</p><p>  txtSubject.Clear();</p><p>  txtContent.Clear();</p><p>  t

47、xtAttachment.Clear();</p><p>  顯示草稿箱的按鈕的核心代碼如下:</p><p>  frmScript frmTmp = new frmScript();</p><p>  frmTmp.Show();</p><p>  this.Hide;</p><p>  3.3.3、通訊錄

48、頁(yè)面的核心代碼及窗體Groupemail</p><p>  此界面主要是用來(lái)選擇、添加、刪除聯(lián)系人的。這個(gè)界面使用Gridview控件將數(shù)據(jù)庫(kù)中的表中的數(shù)據(jù)導(dǎo)入,在Gridview中添加了新的一列checkbox,此列用作選中要選中的聯(lián)系人,而且還可以選中多個(gè)聯(lián)系人,然后點(diǎn)確定按鈕,便可以將選中的聯(lián)系人導(dǎo)入到收件人處。此界面還通過(guò)添加按鈕btnAdd進(jìn)入添加聯(lián)系人的界面。通過(guò)刪除按鈕btnDelete可以進(jìn)行對(duì)

49、聯(lián)系人的刪除。通過(guò)返回按鈕btnReturn返回到Emailsend界面。</p><p><b>  窗體如下:</b></p><p>  刪除時(shí)出現(xiàn)的對(duì)話框:</p><p>  這個(gè)界面主要使用了button和Gridview控件,進(jìn)行選中、添加、刪除、返回等功能,具體的實(shí)現(xiàn)代碼如下:</p><p>  綁定數(shù)

50、據(jù)庫(kù)的代碼如下:</p><p>  BindData();</p><p>  for (int i = 0; i < dataGridView1.RowCount; i++)</p><p>  { dataGridView1.Rows[i].Cells[0].Value = false;}</p><p>  SqlDataAd

51、apter da = new SqlDataAdapter();</p><p>  DataSet ds = new DataSet();</p><p>  string sql = "SELECT FriendID AS 序號(hào),FriendName AS 姓名,FriendEmail AS 電子郵件,FriendPhone AS 電話,FriendAddress AS 地址

52、,FriendSex AS 性別,FriendBirthday AS 生日FROM FriendInfo";</p><p>  SqlConnection conn = new SqlConnection(OperateDB.ConnString);</p><p>  conn.Open();</p><p>  SqlCommand cmd = ne

53、w SqlCommand(sql, conn);</p><p>  da.SelectCommand = cmd;</p><p>  da.Fill(ds);</p><p>  dataGridView1.DataSource = ds.Tables[0];</p><p>  conn.Close();</p><

54、p>  確定按鈕的核心代碼如下:</p><p>  String to = "";</p><p>  for (int i = 0; i < dataGridView1.RowCount; i++)</p><p><b>  {</b></p><p>  if ( (Boolean

55、)dataGridView1.Rows[i].Cells[0].Value)</p><p>  to = to + dataGridView1.Rows[i].Cells[3].Value.ToString().Trim() + ",";</p><p><b>  }</b></p><p>  Emailsend fo

56、rmaa= new Emailsend();</p><p>  formaa.txtReceiver.Text = to;</p><p>  formaa.Show();</p><p>  this.Hide();</p><p>  按刪除按鈕的核心代碼如下:</p><p>  DialogResult dl

57、Result = MessageBox.Show(this, "要?jiǎng)h除這些記錄嗎?", "請(qǐng)確認(rèn)",</p><p>  MessageBoxButtons.YesNo,</p><p>  MessageBoxIcon.Question);</p><p>  if (dlResult == DialogResult.Yes

58、)</p><p><b>  {</b></p><p>  //取得選擇刪除記錄數(shù)</p><p>  int j = dataGridView1.SelectedRows.Count;</p><p>  //定義整型數(shù)組,記錄待刪列的索引值</p><p>  int[] l = new

59、int[j]</p><p><b>  int i;</b></p><p>  for (i = 0; i < j; i++)</p><p>  { l[i] = dataGridView1.SelectedRows[i].Index;</p><p>  int k = 0;</p>&l

60、t;p>  while (k < j)</p><p><b>  {</b></p><p>  ds.Tables[0].Rows[l[k]].Delete();</p><p><b>  k++;</b></p><p><b>  }</b></p&

61、gt;<p><b>  //執(zhí)行更新</b></p><p>  SqlCommandBuilder cb = new SqlCommandBuilder(da);</p><p>  da.Update(ds);</p><p>  按添加按鈕的核心代碼如下:</p><p>  Addfriend f

62、roma = new Addfriend();</p><p>  froma.Show();</p><p>  this.Hide();</p><p>  返回按鈕的核心代碼如下:</p><p>  Emailsend froma = new Emailsend();</p><p>  froma.Show(

63、);</p><p>  this.Hide();</p><p>  3.3.4、添加聯(lián)系人的代碼和窗體AddFriend.cs</p><p>  此界面主要是用來(lái)添加新的聯(lián)系人的信息的。使用RadioButton按鈕來(lái)做性別的控件,使用MaskedTextBox可以控制序號(hào)的長(zhǎng)度用做添加序號(hào)的控件,使用DataTimePicker用作添加出生日期的控件,使用C

64、omboBox用作錄入聯(lián)系人地址的控件。使用錄入按鈕即可錄入所要添加的信息,使用返回按鈕即可返回通訊錄Groupemail窗體。</p><p>  其中Groupemail窗體如下:</p><p><b>  錄入信息時(shí)的界面:</b></p><p>  錄入成功時(shí)的對(duì)話框:</p><p>  此窗體主要使用了l

65、able,RadioButton,MaskedTextBox,DataTimePicker,ComboBox等控件實(shí)現(xiàn)了添加聯(lián)系人信息的功能,具體的實(shí)現(xiàn)代碼如下:</p><p>  錄入信息的按鈕的代碼如下所示:</p><p>  string FriendSex = "";</p><p>  if (optMale.Checked)<

66、;/p><p>  FriendSex = "男";</p><p>  if (optFemale.Checked)</p><p>  FriendSex = "女";</p><p><b>  int i;</b></p><p><b>  

67、try</b></p><p><b>  {</b></p><p>  i = OperateDB.ExecuteNonQuery(</p><p>  "INSERT INTO FriendInfo( FriendID ,FriendName ,FriendSex ,FriendPhone ,FriendEmail,

68、FriendAddress,FriendBirthday) VALUES('" + matID.Text.Trim() + "','" + txtName.Text.Trim() + "','" + FriendSex + "','" + txtConnection.Text.Trim() + "

69、9;,'" +</p><p>  txtEmail.Text.Trim() + "','" + comboBox1.SelectedItem + "','" + dateTimePicker1.Value + "')");</p><p>  if (i == 1)<

70、;/p><p><b>  {</b></p><p>  MessageBox.Show("記錄添加成功!");</p><p>  //清空姓名文本框記錄</p><p>  txtName.Clear();</p><p><b>  }}</b><

71、;/p><p><b>  catch</b></p><p><b>  {</b></p><p>  MessageBox.Show("操作失敗,記錄不能重復(fù)!", "出錯(cuò)啦", MessageBoxButtons.OK, MessageBoxIcon.Error);</p&

72、gt;<p><b>  }</b></p><p>  返回 Groupemail界面的代碼如下:</p><p>  Groupemail forma = new Groupemail();</p><p>  forma.Show();</p><p>  this.Hide();</p>

73、<p>  3.3.5草稿箱界面的核心代碼及窗體frmScript.cs</p><p>  此界面主要是用來(lái)存放Emailsend界面保存下來(lái)的郵件的。本界面也是通過(guò)Gridview控件將數(shù)據(jù)庫(kù)中EmailScript表中的數(shù)據(jù)導(dǎo)入。通過(guò)刪除按鈕可以將草稿刪除,通過(guò)返回按鈕可以返回到Emailsend界面。</p><p>  此界面核心代碼如下:</p>&

74、lt;p>  刪除按鈕的核心代碼如下:</p><p>  DialogResult dlResult = MessageBox.Show(this, "要?jiǎng)h除這些記錄嗎?", "請(qǐng)確認(rèn)",</p><p>  MessageBoxButtons.YesNo,</p><p>  MessageBoxIcon.Quest

75、ion);</p><p>  if (dlResult == DialogResult.Yes)</p><p><b>  {</b></p><p>  //取得選擇刪除記錄數(shù)</p><p>  int j = dataGridView1.SelectedRows.Count;</p><p&

76、gt;  //定義整型數(shù)組,記錄待刪列的索引值</p><p>  int[] l = new int[j];</p><p><b>  int i;</b></p><p>  for (i = 0; i < j; i++)</p><p><b>  {</b></p>&

77、lt;p>  l[i] = dataGridView1.SelectedRows[i].Index;</p><p><b>  }</b></p><p>  int k = 0;</p><p>  while (k < j)</p><p><b>  {</b></p>

78、;<p>  ds.Tables[0].Rows[l[k]].Delete();</p><p><b>  k++;</b></p><p><b>  }</b></p><p><b>  //執(zhí)行更新</b></p><p>  SqlCommandBui

79、lder cb = new SqlCommandBuilder(da);</p><p>  da.Update(ds);</p><p>  返回按鈕的核心代碼如下:</p><p>  Emailsend forma = new Emailsend();</p><p>  forma.Show();</p><p&g

80、t;  this.Hide();</p><p>  此界面主要使用了Gridview和button控件,實(shí)現(xiàn)了存儲(chǔ)草稿和刪除草稿的功能,frmScript.cs窗體如下:</p><p>  刪除草稿時(shí)的對(duì)話框:</p><p><b>  4、軟件發(fā)布</b></p><p><b>  軟件發(fā)布過(guò)程:&l

81、t;/b></p><p>  1).右擊解決資源管理器,選擇添加新建項(xiàng)目,在窗體中選擇其它項(xiàng)目,然后再選擇安裝項(xiàng),給安裝項(xiàng)目起一個(gè)有意義的簡(jiǎn)單易懂的名字,如:本軟件的安裝發(fā)布名為:EdiarySetup</p><p>  2).將應(yīng)用程序文件夾、用戶的“程序”菜單、用戶桌面的AlwaysCreate、Transitive屬性都改為:True</p><p>

82、;  3).在文件系統(tǒng)中的應(yīng)用程序文件夾上右擊選擇項(xiàng)目輸出,在其中選擇主輸出和內(nèi)容文件然后點(diǎn)擊確定。</p><p>  4).在用戶的“程序”菜單上右擊選擇添加文件夾。</p><p>  5).在應(yīng)用程序文件夾上右擊選擇添加-文件,添加發(fā)布需要的文件。如:加上數(shù)據(jù)庫(kù),bin下debug下的ConnDB,安裝說(shuō)明,軟件許可協(xié)議等。</p><p>  6).在應(yīng)用

83、程序文件夾中的“主輸出來(lái)自Ediary(活動(dòng))”選擇創(chuàng)建快捷方式并修改快捷方式的名字為:Ediary。右擊快捷方式選擇屬性窗口,添加圖標(biāo)。</p><p>  7).將安裝說(shuō)明、ConnDB同樣添加快捷方式,并將這些快捷方式拖到用戶的“程序”菜單下新建的文件夾里。</p><p>  8).在新建的項(xiàng)目EdiarySetup上右擊選擇視圖,再選擇視圖下的用戶界面,在安裝的啟動(dòng)上右擊選則添加

84、對(duì)話框,選擇許可協(xié)議,將其拖到最上方,在右擊許可協(xié)議選擇屬性窗口,在LicenseFile中添加許可協(xié)議。</p><p>  9).在項(xiàng)目上選擇屬性,修改Author和Manufactur屬性,在系統(tǒng)必備中選擇相應(yīng)項(xiàng)。</p><p>  10).在項(xiàng)目上右擊生成即可。</p><p>  11).在生成成功后,可在相應(yīng)的路徑下找到待安裝的程序(即.exe文件)。

85、將這些文件發(fā)布給用戶后,用戶雙擊安裝即可。在安裝過(guò)程中用戶將會(huì)看到許可協(xié)議里的內(nèi)容并且可以看到作者名和公司名等信息。</p><p><b>  5、課程設(shè)計(jì)總結(jié)</b></p><p>  隨著寒假的到來(lái),課程設(shè)計(jì)也接近了尾聲。 在這次課程設(shè)計(jì)中我遇到了很多難點(diǎn),由于以前沒(méi)有接觸過(guò)System.Net.Mail這個(gè)命名空間,對(duì)里面的MailMessage、MailA

86、ddress、MailAttachment等類的使用方法都不熟悉,不了解,所以不知道應(yīng)該怎么用,自己從MSDN中學(xué)習(xí)了之后,再嘗試著使用,可是總是出現(xiàn)錯(cuò)誤,有一些方法都不太會(huì)用,在這里我特別要感激陳老師的幫助,他一直都在不厭其煩地指導(dǎo)我,教我怎么使用System.Net.Mail這個(gè)命名空間里的成員。好幾次都耽誤了他回家的時(shí)間,我特別感激他,他給了我更大的動(dòng)力,激勵(lì)我?guī)е蟮臒崆槿ヅψ稣n程設(shè)計(jì)。這次課程設(shè)計(jì)還讓我對(duì)學(xué)習(xí)產(chǎn)生了更大的熱

87、情,讓我懂得學(xué)習(xí)是一個(gè)循序漸進(jìn)的事情,必須得一點(diǎn)點(diǎn)研究,一點(diǎn)點(diǎn)嘗試,不能畏懼失敗,只有經(jīng)過(guò)反復(fù)的修改,反復(fù)的嘗試才能得到自己想要的東西,而且要善于利用網(wǎng)絡(luò)資源,多上網(wǎng)查些資料,多看一些網(wǎng)絡(luò)編程高手編的程序。學(xué)習(xí)不能只看課本,要善于和大家交流,善于利用網(wǎng)絡(luò)資料,親自動(dòng)手,才能最終把學(xué)習(xí)搞好。</p><p>  我對(duì)課程設(shè)計(jì)分了以下幾個(gè)階段:</p><p>  第一階段:查資料。包括上網(wǎng)查

88、詢和在圖書館查找,給我提供了很多信息也學(xué)到了以前沒(méi)有接觸的知識(shí)。</p><p>  第二階段:畫流程圖。通過(guò)第一階段的搜索把自己要完成的電子郵件客戶端發(fā)送系統(tǒng)劃分了模塊并設(shè)計(jì)出流程圖。</p><p>  第三階段:初步實(shí)現(xiàn)軟件。有了前兩步的基礎(chǔ),開(kāi)始實(shí)現(xiàn)軟件,將要求實(shí)現(xiàn)的功能初步完成,當(dāng) 然其中也包括查找資料,請(qǐng)教老師和同學(xué)。</p><p>  第

89、四階段:完善軟件??梢悦阑幌伦约旱拇绑w,讓用戶用著更舒適。然后進(jìn)行發(fā)布。</p><p>  在老師同學(xué)的幫助和自身的努力下,經(jīng)過(guò)這四個(gè)階段的努力,我最終完成了課程設(shè)計(jì)。我這次課程設(shè)計(jì)的確經(jīng)歷了不少曲折,很多代碼,我覺(jué)得自己寫的都對(duì),可就是無(wú)法實(shí)現(xiàn)功能,好幾次我都看著報(bào)的錯(cuò)很無(wú)奈,差點(diǎn)被急哭了,然后我告訴自己一定要靜下心來(lái),慢慢來(lái),不能急。這很好的鍛煉了我的耐心。當(dāng)然這里面也有老師和同學(xué)的功勞,通過(guò)這次課程設(shè)計(jì)

90、,很好的增進(jìn)了我和老師同學(xué)們的感情,在此我特意要表示一下感激。這次課程設(shè)計(jì),我把老師的課程設(shè)計(jì)要求的任務(wù)基本上都實(shí)現(xiàn)了,但是有一個(gè)很大的缺陷就是只能使用不需要網(wǎng)絡(luò)認(rèn)證的郵箱發(fā)送,所以我選擇了使用139移動(dòng)郵箱,最終實(shí)現(xiàn)了發(fā)送功能,但是這是我的課程設(shè)計(jì)的缺陷,我打算利用寒假的時(shí)間把網(wǎng)絡(luò)認(rèn)證的代碼好好研究一下,然后最終把自己這次的課程設(shè)計(jì)完善了。 在沒(méi)有做課程設(shè)計(jì)以前覺(jué)得課程設(shè)計(jì)只是對(duì)這幾年來(lái)所學(xué)知識(shí)的單純總結(jié),但是通過(guò)這次做課

91、程設(shè)計(jì)發(fā)現(xiàn)自己的看法有點(diǎn)太片面。課程設(shè)計(jì)不僅是對(duì)前面所學(xué)知識(shí)的一種檢驗(yàn),而且也是對(duì)自己能力的一種提高。通過(guò)這次課程設(shè)計(jì)使我明白了自己原來(lái)知識(shí)還比較欠缺。自己要學(xué)習(xí)的東西還太多,以前老是覺(jué)得自己什么東西都會(huì),什么東西都懂,有點(diǎn)眼高手低。通過(guò)這</p><p>  在設(shè)計(jì)過(guò)程中,我通過(guò)查閱大量有關(guān)資料,與同學(xué)交流經(jīng)驗(yàn)和自學(xué),并向老師請(qǐng)教等方式,使自己學(xué)到了不少知識(shí),也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個(gè)設(shè)計(jì)中我懂得

92、了許多東西,也培養(yǎng)了我獨(dú)立工作的能力,樹(shù)立了對(duì)自己工作能力的信心,相信會(huì)對(duì)今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動(dòng)手的能力,使我充分體會(huì)到了在創(chuàng)造過(guò)程中探索的艱難和成功時(shí)的喜悅。雖然這個(gè)設(shè)計(jì)做的也不太好,但是在設(shè)計(jì)過(guò)程中所學(xué)到的東西是這次課程設(shè)計(jì)的最大收獲和財(cái)富,使我終身受益。 </p><p><b>  6、參考文獻(xiàn)</b></p><p>  [1]

93、 邱錦倫等編著,清華大學(xué)出版社出版,《Visual C#.NET程序設(shè)計(jì)教程》,2006</p><p>  [2] 孫維煜、劉杰、胡方霞、陳發(fā)吉等編著,中國(guó)水利水電出版社,《c#案例開(kāi)發(fā)》,2005</p><p>  [3] 澎湃等編著,清華大學(xué)出版社,《邊用邊學(xué)c#》,2007</p><p>  [4] Balasubramaniam Aiaswamy編著,

溫馨提示

  • 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)論