C#Form和Load和Shown这两个玩意容易混淆不?
案例测试一下:
-
using System;
-
using System.Collections.Generic;
-
using System.ComponentModel;
-
using System.Data;
-
using System.Drawing;
-
using System.Linq;
-
using System.Text;
-
using System.Windows.Forms;
-
namespace LoadShown
-
{
-
public partial class Form1 : Form
-
{
-
public Form1()
-
{
-
InitializeComponent();
-
}
-
private string[] mMessage = new string[] { "首先调用","第二调用"};
-
private int mIndex = 0;
-
private void Form1_Load(object sender, EventArgs e)
-
{
-
MessageBox.Show("Form1_Load" + mMessage[mIndex++]);
-
}
-
private void Form1_Shown(object sender, EventArgs e)
-
{
-
MessageBox.Show("Form1_Shown" + mMessage[mIndex++]);
-
}
-
}
-
}
Form.Load 事件
在第一次显示窗体前发生。注意这里有一个前字。明显它的触发要比Shown中的早。
Form.Shown 事件
只有在首次显示窗体时才会引发 Shown 事件;随后执行的最小化、最大化、还原、隐藏、显示或无效化和重新绘制操作都不会引发该事件。
C#Form和Load和Shown从此不再混淆。
参考文献:
阅读(3938) | 评论(0) | 转发(0) |