现在看个简单例子吧:)
1)定义运行测试类
public delegate void BaseInfoHandler(string str); //定义基本信息输出委托
public delegate void ErrorInfoHandler(string str); //定义错误信息输出委托
public class Test
{
public event BaseInfoHandler BaseInfoOut; //基本信息实现事件
public event ErrorInfoHandler ErrorInfoOut; //错误信息实现事件
public void Exec() //
{
try
{
int result=0;
for(int i=1;i<1000;i++)
{
BaseInfoOut(retult);
}
}
catch(System.Exception e)
{
ErrorInfoOut(e.Message );
}
}
}
2)窗体中实现信息输出。
private void runBtn_Click(object sender, System.EventArgs e)
{
Test t=new Test ();
t.BaseInfoOut +=new BaseInfoHandler(BaseInfoOut);
t.ErrorInfoOut +=new ErrorInfoHandler(ErrorInfoOut);
t.Exec ();
}
private void BaseInfoOut(string str)
{
this.baseInfoListBox.Items.Add(str);
}
private void ErrorInfoOut(string str)
{
this.errorInfoListBox.Items.Add(str);
}