如何在多线程中调用winform窗体控件2——实例篇

针对之前文章《如何在多线程中调用winform窗体控件》,下面举个我项目中的实际案例,这是一个我自定义控件在异步设置焦点时的代码。在新创建的线程中获取主线程的控件句柄,然后触发其控件的方法(注:this.RowName为控件,SetFocus()为需要异步执行的方法)。


 public void SetFocus_Asynchronous()
        {
            Thread thread =
                new Thread(
                    new ThreadStart(
                        () =>
                        {
                            this.RowName.BeginInvoke(
                                new EventHandler(
                                    (object o, System.EventArgs e) =>
                                    {
                                        this.RowName.SetFocus();
                                    }));
                        }
                        ));
            thread.Start();