1、当运行程序,出现如下错误

【小5聊】window窗体之线程间操作无效: 从不是创建控件“txtContent”的线程访问它。_Windows

2、解决方法

在线程方法开头可以添加一句代码

Control.CheckForIllegalCrossThreadCalls = false;

 

3、简单设置开启一个线程,代码如下

开启一个线程,这个线程是针对执行某一个方法,方法代码执行结束了,那么线程也就结束了

如果让方法代码一直执行而不结束,那么线程也就一直在

简单应用:可以简单做个时间,一秒输出一次

namespace window
{
    public partial class Form1 : Form
    {
        //可以声明全局线程数组  
        Thread[] workThreads = new Thread[3];

        //点击按钮,开启线程
        private void btnStart_Click(object sender, EventArgs e)
        {
            //线程二
            if (workThreads[1] == null)
            {
                //如果线程不存在,则创建  
                workThreads[1] = new Thread(new ThreadStart(FunName));
                workThreads[1].Name = (1).ToString();
                workThreads[1].Start();
            }
        }

        public void CollectSentenceData()
        {
            Control.CheckForIllegalCrossThreadCalls = false;

            while (true) //条件一直都成立,循环内代码一直都会在执行
            {
                //写业务
            }
        }
    }
}