查看: 1218|回复: 2
收起左侧

[已解决] 【C#】线程间操作无效 从不是创建控件textbox3 的线程访问它

 关闭 [复制链接]
沧海ふ无涯
发表于 2013-11-8 14:27:35 | 显示全部楼层 |阅读模式
本帖最后由 沧海ふ无涯 于 2013-11-8 14:46 编辑

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Thread cc = new Thread(new ParameterizedThreadStart(bb));
            cc.Start(cc );
            cc.Suspend();
            cc.Resume();
            
        }
        void bb(object c)
        {
            textBox2.Text = "线程已被执行";
            Thread vv = (Thread)c ;
            vv.Name = "thread1";
           // Thread.Sleep(3000);       【不注释掉这个代码就有BUG,错误提示如标题】
            textBox3.Text = "线程名="+vv.Name;
            Thread.Sleep(3000);
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            textBox1.Text = DateTime.Now.ToString ();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            textBox1.Text = DateTime.Now.ToString();
        }
    }
}
烟花雨
头像被屏蔽
发表于 2013-11-8 14:34:26 | 显示全部楼层
void bb(object c)是不是差修饰符瞎猜的
沧海ふ无涯
 楼主| 发表于 2013-11-8 14:46:40 | 显示全部楼层
烟花雨 发表于 2013-11-8 14:34
void bb(object c)是不是差修饰符瞎猜的



CheckForIllegalCrossThreadCalls = false;

默认不能跨线程操作
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-12 20:04 , Processed in 0.137002 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表