<b>1.窗體事件的發生順序如下:</b>
· 構造函數:在對象執行個體化過程中執行;
· Load:在對象執行個體化之後,窗體可見之前發生,此時窗體已存在,但不可見;
· Activated:在窗體處于可見狀态并處于目前狀态時發生;
· Closing:在窗體關閉時發生;
· Closed:在窗體關閉後發生;
· Deactivate:在窗體關閉後發生,不能執行防止窗體被正常垃圾收集的操作;
2.Show()和ShowDialog()方法的差別:
· 調用Show()方法後,後面的代碼會立即執行;
· 調用ShowDialog()方法後,直到ShowDialog()方法的窗體關閉後才繼續執行之後的代碼。
TestFormShow:
Form1.cs:主窗體
<b>01.using System; </b>
<b>02.using System.Collections.Generic; </b>
<b>03.using System.ComponentModel; </b>
<b>04.using System.Data; </b>
<b>05.using System.Drawing; </b>
<b>06.using System.Text; </b>
<b>07.using System.Windows.Forms; </b>
<b>08. </b>
<b>09.namespace TestFormShow </b>
<b>10.{ </b>
<b>11. public partial class Form1 : Form </b>
<b>12. { </b>
<b>13. public Form1() </b>
<b>14. { </b>
<b>15. InitializeComponent(); </b>
<b>16. } </b>
<b>17. </b>
<b>18. private void button1_Click(object sender, EventArgs e) </b>
<b>19. { </b>
<b>20. //建立對話框 </b>
<b>21. Phone frm = new Phone(); </b>
<b>22. while (true) </b>
<b>23. { </b>
<b>24. //顯示對話框 </b>
<b>25. frm.ShowDialog(); </b>
<b>26. </b>
<b>27. //按下确認按鈕 </b>
<b>28. if (frm.DialogResult == DialogResult.OK) </b>
<b>29. { </b>
<b>30. if (frm.PhoneNumber.Length == 7 || frm.PhoneNumber.Length == 8) </b>
<b>31. { </b>
<b>32. //格式正确,顯示結果,并退出循環 </b>
<b>33. label1.Text = "Phone Number is : " + frm.PhoneNumber; </b>
<b>34. break; </b>
<b>35. } </b>
<b>36. else</b>
<b>37. { </b>
<b>38. //格式不正确,提示錯誤資訊,繼續循環 </b>
<b>39. MessageBox.Show("Phone number must be 7 or 8 digit."); </b>
<b>40. } </b>
<b>41. } </b>
<b>42. //按下取消按鈕 </b>
<b>43. else if (frm.DialogResult == DialogResult.Cancel) </b>
<b>44. { </b>
<b>45. label1.Text = "Form was Canceled!"; </b>
<b>46. break; </b>
<b>47. } </b>
<b>48. </b>
<b>49. } </b>
<b>50. //關閉對話框 </b>
<b>51. frm.Close(); </b>
<b>52. } </b>
<b>53. } </b>
<b>54.}</b>
<b>Phone.cs:對話框</b>
<b>11. public partial class Phone : Form </b>
<b>13. public Phone() </b>
<b>16. </b>
<b>17. button1.DialogResult = DialogResult.OK; </b>
<b>18. button2.DialogResult = DialogResult.Cancel; </b>
<b>19. </b>
<b>20. } </b>
<b>21. </b>
<b>22. public string PhoneNumber </b>
<b>23. { </b>
<b>24. get</b>
<b>25. { </b>
<b>26. return textBox1.Text; </b>
<b>27. } </b>
<b>28. set</b>
<b>29. { </b>
<b>30. textBox1.Text = value; </b>
<b>31. } </b>
<b>32. } </b>
<b>33. } </b>
<b>34.}</b>
<b></b>
<b> 本文轉自My_King1 51CTO部落格,原文連結:http://blog.51cto.com/apprentice/1360723</b><b>,如需轉載請自行聯系原作者</b>