<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>