V
VeryCoolBoy
Unregistered / Unconfirmed
GUEST, unregistred user!
C#的委托机制很好,但到了事件那里就整个让我不爽.
假设我有一个FORM,FORM上有n个TextBox,而每个TextBox都有相应的TextChanged,那么,这时我想在每个TextBox在执行完原有的TextChanged之后,再执行一段我的代码,就可以这样写:
private void button1_Click(object sender, System.EventArgs e)
{
TextBox textBox;
for (int i=0;i<=Controls.Count-1;i++)
{
if (Controls is TextBox)
{
textBox = ((TextBox)Controls);
textBox.TextChanged+=new EventHandler(MySelfChanged);
//MySelfChanged为我的那段代码
}
}
}
但是正如上面所说的,这是在"之后"调用,如何转到"之前"呢,也就是说如何让每个TextBox在执行完原有的TextChanged之前,先执行一段我的代码.
注意,这里原有的TextChanged是未知的,也就是说在你做委托的-=之前,你并不知道原来的那个函数名
假设我有一个FORM,FORM上有n个TextBox,而每个TextBox都有相应的TextChanged,那么,这时我想在每个TextBox在执行完原有的TextChanged之后,再执行一段我的代码,就可以这样写:
private void button1_Click(object sender, System.EventArgs e)
{
TextBox textBox;
for (int i=0;i<=Controls.Count-1;i++)
{
if (Controls is TextBox)
{
textBox = ((TextBox)Controls);
textBox.TextChanged+=new EventHandler(MySelfChanged);
//MySelfChanged为我的那段代码
}
}
}
但是正如上面所说的,这是在"之后"调用,如何转到"之前"呢,也就是说如何让每个TextBox在执行完原有的TextChanged之前,先执行一段我的代码.
注意,这里原有的TextChanged是未知的,也就是说在你做委托的-=之前,你并不知道原来的那个函数名