private void Form1_Load(object sender, EventArgs e)
{
button1.Click += new EventHandler(button1_Click);
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello World!\r" + DateTime.Now.ToString());
}订阅事件平时我们大都像上边格式写,还可以写成如下形式:
private void Form1_Load(object sender, EventArgs e)
{
button1.Click += delegate(object sender1, EventArgs e1)
{
MessageBox.Show("Hello World!\r" + DateTime.Now.ToString());
};
}这有些类似于Js的匿名函数🙂,要注意当不需要参数时应去掉delegate后面的中括号!下边的例子比较有意思,也正是因为这写法不同引起的:
int i = 0;
private void Form1_Load(object sender, EventArgs e)
{
button1.Click += new EventHandler(button1_Click);
}
private void button1_Click(object sender, EventArgs e)
{
i++;
MessageBox.Show(i.ToString());
}private void Form1_Load(object sender, EventArgs e)
{
int i = 0;
button1.Click += delegate
{
i++;
MessageBox.Show(i.ToString());
};
}
评论(0)
暂无评论。