首页 > 代码库 > 菜鸡学习笔记--WinForm控件的异步调用

菜鸡学习笔记--WinForm控件的异步调用

  在一WinForm项目中,除了窗口类之外的其他类要直接使用窗口控件是比较困难的,因为控件对象不是静态的(static),但是又不能去Designer去修改空间的属性。而且还有需要控件值自动改变的情况。此时需要运用到事件(Event)的使用

例:

在项目适当位置任意声明一个委托,参数类型与控件一致

public delegate void TestDelegate(string msg);


声明事件,并且定义事件访问器:

public event TestDelegate TestEvent{{    add    {        TestEvent += value;    }    remove    {        TestEvent -= value;    }}

 

给事件绑定控件异步调用的方法:

TestEvent += txtMethod;public void txtMethod(string msg)//控件异步调用的具体方法{    TestDelegate del = delegate(string m)    {        txtContent.Text += m;    }    txtContent.Invoke(del, msg);}


当触发事件TestEvent时此txt控件就能输出msg的值:

string msg = "This is a Test";if(TestEvent != null)//触发事件    TestEvent(msg);

初次学习,还得多加练习。

没错就是从张子阳老师的网络编程那篇文章里学到的:http://www.cnblogs.com/JimmyZhang/archive/2008/09/07/1286299.html

 

菜鸡学习笔记--WinForm控件的异步调用