toolStripContainer线程间操作无效,可是我没有操作。

问题描述

线程间操作无效:从不是创建控件“toolStripContainer1”的线程访问它。可是我没有操作toolStripContainer1,只是改了里面的toolstripButton.Image.是不是改了它的大小。影响到了toolStripContainer1。

解决方案

解决方案二:

解决方案三:
你的操作影响到了toolStripContainer的刷新。
解决方案四:
楼上的正解。。。。。。

时间: 2025-01-22 08:23:50

toolStripContainer线程间操作无效,可是我没有操作。的相关文章

C#异常:线程间操作无效: 从不是创建控件“xxx”的线程访问它

C# WinForm开发中,这是一个比较常见的异常:线程间操作无效,从不是创建控件"xxx"的线程访问它.这个异常来源于.NET2的一个限制:工作线程不能访问窗口线程创建的控件.解决方法主要有两种,一种是在窗口线程中设置CheckForIllegalCrossThreadCalls = false :另一种方式比较麻烦,使用委托的方式调用Invoke方法. 比如窗口中有一个button1,我要新建一个线程访问到button1.第一种方式是:  代码如下 复制代码 this.button

volatile关键字与线程间通信

Java内存模型 现在计算机普遍使用多处理器进行运算,并且为了解决计算机存储设备和处理器的运算速度之间巨大的差距,引入了高速缓存作为缓冲, 缓存虽然能极大的提高性能,但是随之带来的缓存一致性的问题, 例如,当多个处理器同时操作同一个内存地址,可能会导致各自的缓存数据不一致,由此产生冲突问题, 内存模型就是定义一套充分必要的规范,这些规范使得其他处理器对内存的写操作对当前处理器可见,或者当前处理器的写操作对其他处理器可见. 类似物理上的计算机系统,Java虚拟机规范中也定义了一种Java内存模型,

浅析iOS应用开发中线程间的通信与线程安全问题_IOS

线程间的通信  简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信   线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任务后,转到另1个线程继续执行任务   线程间通信常用方法 复制代码 代码如下: - (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait; - (void)performSelector

Java中利用管道实现线程间的通讯

在Java 语言中,提供了各种各样的输入输出流(stream),使我们能够很方便的对数据进行操作,其中,管道(pipe)流是一种特殊的流,用于在不同线程(threads)间直接传送数据.一个线程发送数据到输出管道,另一个线程从输入管道中读数据.通过使用管道,实现不同线程间的通讯.无需求助于类似临时文件之类的东西.本文在简要介绍管道的基本概念后,将以一个具体的实例pipeapp加以详细说明. 1.管道的创建与使用 Java提供了两个特殊的专门的类专门用于处理管道,它们就是pipedinputstr

什么是.Net的异步机制(线程间通信)

前几篇文章我已经对异步的操作进行的详细的解释.异步操作也是线程的一种,当我们开始一个异步操作(新线程),完成调用后需要和其他线程通信(可能需要告知状态信息),这时候我们就需要线程间的通信编程. 线程间通信 我们看下面的图 图1 我们来看线程间通信的原理:线程(Thread B)和线程(Thread A)通信, 首先线程A 必须实现同步上下文对象(Synchronization Context), 线程B通过调用线程A的同步上下文对象来访问线程A,所有实现都是在同步上下文中完成的.线程B有两种方式

简单看看ThreadPool的源码以及从中看出线程间传值的另一种方法

  这几天太忙没时间写博客,今天回家就简单的看了下ThreadPool的源码,发现有一个好玩的东西,叫做"执行上下文",拽名叫做:"ExecutionContext".   一:ThreadPool的大概流程.   第一步:它会调用底层一个helper方法.   第二步:走进这个helper方法,我们会发现有一个队列,并且这个队列的item必须是QueueUserWorkItemCallback的实例,然后这就激发了我的            兴趣,看看QueueU

java线程间通信[实现不同线程之间的消息传递(通信),生产者和消费者模型]

线程通信,线程之间的消息传递: 多个线程在操作同一个资源,但对共享资源的操作动作不同:它们共享同一个资源,互为条件,相互依赖,相互通信让任务向前推进. 线程的同步,可以解决并发更新同一个资源,实现线程同步;但不能用来实现线程间的消息传递. 线程通信生产者和消费者和仓库是个典型模型: 生产者:没有生产之前通知消费者等待,生产产品结束之后,马上通知消费者消费 消费者:没有消费之前通知生产者等待,消费产品结束之后,通知生产者继续生产产品以供消费 线程通信:使用java中Object中提供的: publ

线程间共享数据无需竞争

原文 地址  作者  Trisha   译者:李同杰 LMAX Disruptor 是一个开源的并发框架,并获得2011 Duke's程序框架创新奖.本文将用图表的方式为大家介绍Disruptor是什么,用来做什么,以及简单介绍背后的实现原理. Disruptor是什么? Disruptor 是线程内通信框架,用于线程里共享数据.LMAX 创建Disruptor作为可靠消息架构的一部分并将它设计成一种在不同组件中共享数据非常快的方法. 基于Mechanical Sympathy(对于计算机底层硬

android-Android线程间同步问题,实现主线程死等新线程处理结束

问题描述 Android线程间同步问题,实现主线程死等新线程处理结束 我的主线程是activity,在主线程里开启了线程R1,希望R1的任务处理完成后通知主线程继续,否则主线程一直等待,怎么实现? 解决方案 首先你这样的需求是违背android官方设计的,你应该考虑一下要实现你的功能,换一种需求(实现方式)是否可以. 主线程负责呈现画面增强交互,不应该阻塞,非要实现这样的功能, 可以在主线程是activity开启线程R1,然后什么事儿也不做,当R1的任务处理完成后通知主线程继续后再做事儿(绘制画