利用委托从运行类输出信息到窗体控件

      习惯上程序数据处理中间都会输出一些信息,比如:初始化、运行结束、错误等信息,若要都通过MessageBox弹出,想想哪个不Faint呢,输出到一些窗体上,既不影响操作,又可以查看之前信息,有时更要把不同类型信息输出到不同方向,有时这是负责数据运算人员不得而知的。在C++时可以利用函数指针解决,现在在C#中可以委托简单得到处理,其实这是委托最基本的应用。

    现在看个简单例子吧:)

    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);

         }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值