在多线程里面,UI是不能直接跨线程使用的。

在WinForm中,我们要跨线程访问窗口控件,只需要设置属性CheckForIllegalCrossThreadCalls = false;即可。

在WPF中要设置Dispatcher属性。msg为要输出的内容

        private delegate void outputDelegate(string msg);

        private void output(string msg)
        {
            this.txtResult.Dispatcher.Invoke(new outputDelegate(outputAction), msg);
        }

        private void outputAction(string msg)
        {
            this.txtResult.AppendText(msg);
            this.txtResult.AppendText(" \n ");
        }

 

posted on 2023-08-25 13:43  阿霖找BUG  阅读(290)  评论(0编辑  收藏  举报