`

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Winform跨线程访问报错问题解决

{

public partial class Form1 : Form

{

private ThreadMethodHelper threadMethodHelper;

    public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
//解决方法1:取消跨线程调用(由于早期winform设计是线程不安全的,现在是线程安全的,用该方法会使winform变为线程不安全的,所以不推荐)
//CheckForIllegalCrossThreadCalls = false; threadMethodHelper = new ThreadMethodHelper(this);
} private void button1_Click(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(Test));
thread.Start();
} /// <summary>
/// 在线程中直接给Form的UI控件赋值报异常:
/// System.InvalidOperationException:“线程间操作无效: 从不是创建控件“textBox1”的线程访问它。”
/// </summary>
//public void Test()
//{
// textBox1.Text = "test1";
//} //解决方法2:
//public void Test()
//{
// this.Invoke(new Action(() =>
// {
// textBox1.Text = "test1";
// })); // this.Invoke(new EventHandler(delegate
// {
// textBox1.Text = "test1";
// }));
//} //解决方法3:封装一个帮助类
public void Test()
{
threadMethodHelper.SetText("test2", textBox1);
Thread.Sleep(1000);
threadMethodHelper.SetText(threadMethodHelper.GetText(textBox1), textBox2);
} }

}

`

Winform跨线程访问报错问题解决的更多相关文章

  1. ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法

    原文:ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法 群里好几个朋友都提到过这样的问题,说他们在Silverlight中调用了WebServi ...

  2. winform 跨线程访问问题

    一.问题描述 进行winform 开发我们在进行数据交换时避免不了使用多线程或异步方法,这样操作也将避免不了跨线程对控件进行操作(赋值.修改属性). 下面通过一个测试说明一下问题 点击一个按钮异步对t ...

  3. winform跨线程访问控件

    首先说下,.net 2.0以后加强了安全机制,不允许在winform中直接跨线程访问控件的属性.所以除了控件所在的线程外的线程调用会抛异常 (Cross-thread operation not va ...

  4. C# WinForm 跨线程访问控件

    问题出现: 在WinForm 处理多线程访问主线程的控件时候,就会出现如图所示的错误对话框:    解决方案:  方案一:去掉线程访问主线程UI控件的安全检查,使用: Control.CheckFor ...

  5. WPF / Win Form:多线程去修改或访问UI线程数据的方法( winform 跨线程访问UI控件 )

    WPF:谈谈各种多线程去修改或访问UI线程数据的方法http://www.cnblogs.com/mgen/archive/2012/03/10/2389509.html 子线程非法访问UI线程的数据 ...

  6. C#之Winform跨线程访问控件

    C#中禁止跨线程直接访问控件,InvokeRequired是为了解决这个问题而产生的,当一个控件的InvokeRequired属性值为真时,说明有一个创建它以外的线程想访问它.此时它将会在内部调用ne ...

  7. c#串口编程时,忽略跨线程检查报错

    1.直接在main_Form_Load的初始化中加 //忽略跨线程检查 // System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls ...

  8. C# WinForm 跨线程访问控件(实用简洁写法)

    C# WinForm 跨线程访问控件(实用简洁写法) 1.<C# WinForm 跨线程访问控件(实用简洁写法)>       2.<基于.NET环境,C#语言 实现 TCP NAT ...

  9. c#基础,单线程,跨线程访问和线程带参数

    using System; using System.Collections.Generic; using System.Threading; using System.Windows.Forms; ...

  10. ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成

    ASP.NET Boilerplate 学习   1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: ...

随机推荐

  1. CSS & JS Effect – Show More

    效果 show more 是很常被使用的效果, 因为空间总是不够的丫. 比起 scroll, show more 的体验通常会好一些, 尤其在手机, 它有更好的引导. 实现思路   1. 卡片需要一个 ...

  2. 关于 B 先生

    B 先生是不是要疯了,他今天说的都是他妈什么几把

  3. 暑假集训PVZ提高模拟9

    没关 exe 让这货挂了一天 UPD:又挂了一晚上,现在被我正义制裁了 A.大众点评 交互红题啊,交互会写,但是忘记判 \(n=1\) 了 这个题交互库函数实现起来还是挺简单的,我 Windows 不 ...

  4. web端ant-design-vue Modal.info组件自定义icon和title使用小节

    web端ant-design-vue Modal.info组件自定义icon和title整理小节,最近在项目中用到了自定义icon和title的功能,经过测试发现,如果自定义icon title会自动 ...

  5. 0201-PyTorch0.4.0迁移指南以及代码兼容

    0201-PyTorch0.4.0迁移指南以及代码兼容 目录 一.概要 二.合并Tensor和Variable和类 2.1 Tensor中的type()改变了 2.2 什么时候autograd开始自动 ...

  6. .NET程序获取当前IP经纬度,并通过经纬度实现天气查询功能

      创建一个.net 8的webapi项目备用   编辑一个实体类,该实体类用于存储获取ip地址的经纬度数据使用   继续编辑三个类,用来存储对应经纬度的具体天气数据包:   改造默认的天气控制器,里 ...

  7. AtCoder Beginner Contest 371(ABCDE)

    A 个人直接硬解,讨论情况也并不复杂 代码: #include<bits/stdc++.h> #define int long long using namespace std; cons ...

  8. 现代化 React UI 库:Material-UI 详解!

    随着 React 在前端开发中的流行,越来越多的 UI 框架和库开始涌现,以帮助开发者更高效地构建现代化.响应式的用户界面.其中,Material-UI 是基于 Google Material Des ...

  9. 使用 KubeSphere 部署高可用 RocketMQ 集群

    作者:老Z,云原生爱好者,目前专注于云原生运维,KubeSphere Ambassador. Spring Cloud Alibaba 全家桶之 RocketMQ 是一款典型的分布式架构下的消息中间件 ...

  10. 云原生爱好者周刊:使用 Cilium 和 Grafana 实现无侵入可观测性

    开源项目推荐 Cilium Grafana Observability Demo 这个项目由 Cilium 母公司 Isovalent 开源,提供了一个 Demo,使用 Cilium.OpenTele ...