c# 自定义事件的调用
各位路过的大神,调用 类的方法触发 该类自身的事件,可以吗?
贴上源码,请指正,非常感谢!
- C# code
//////自定义类Command///class Command{ private ArrayList result = new ArrayList(); //声明一个带参数的事件,参数为ArrayList型的数据 public delegate void UpdaterEventHandler(ArrayList data); public event UpdaterEventHandler Updater; //触发事件 public void OnUpdater(ArrayList data) { if (this.Updater != null) { this.Updater(data); } } //在该类中定义一个触发事件的方法 public void Update() { //触发事件 OnUpdater(result); }}//////调用/// Command cmd = new Command(); private void Form1_Load(object sender, EventArgs e) { //我是调用 类的方法触发 该类自身的事件,可以吗 cmd.Updater += new ApiCmd.UpdaterEventHandler(BindDgv); cmd.Update(); } //处理方法 private void BindDgv(ArrayList data) { ///////////////// }
[解决办法]
你的意思是让Command中的线程通知界面修改是吗?
那你这个完全不合适啊。你现在的写法,必须界面调用cmd.Update()才会修改值,不调用的话,值就不会改变。
主控权还是在界面上,只不过是让界面读取了一个Command的一个实时变量而已。