C#Form和Load和Shown

    C#Form和Load和Shown这两个玩意容易混淆不?

    案例测试一下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. namespace LoadShown
  10. {
  11.     public partial class Form1 : Form
  12.     {
  13.         public Form1()
  14.         {
  15.             InitializeComponent();
  16.         }
  17.         private string[] mMessage = new string[] { "首先调用","第二调用"};
  18.         private int mIndex = 0;
  19.         private void Form1_Load(object sender, EventArgs e)
  20.         {
  21.             MessageBox.Show("Form1_Load" + mMessage[mIndex++]);
  22.         }
  23.         private void Form1_Shown(object sender, EventArgs e)
  24.         {
  25.             MessageBox.Show("Form1_Shown" + mMessage[mIndex++]);
  26.         }
  27.     }
  28. }

image

image

Form.Load 事件

    在第一次显示窗体发生。注意这里有一个前字。明显它的触发要比Shown中的早。

Form.Shown 事件

    只有在首次显示窗体时才会引发 Shown 事件;随后执行的最小化、最大化、还原、隐藏、显示或无效化和重新绘制操作都不会引发该事件。

    C#Form和Load和Shown从此不再混淆。

参考文献:

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.form.load(v=vs.110).aspx

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.form.shown.aspx

http://bbs.csdn.net/topics/390149457

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值