C#错误——线程间操作无效: 从不是创建控件的线程访问它。

rabbit_009 2009-07-03 03:35:57
因为在调用程序中的setStoreInfo方法显示数据的时候需要比较长时间,所以我想设置一个等待的窗口提示用户等待,具体的代码如下:

private delegate void someMethodDelegate(int someArg); //委托函数定义


调用setStoreInfo方法的代码段,如下:

someMethodDelegate smd = new someMethodDelegate(this.setStoreInfo);
IAsyncResult iar = smd.BeginInvoke(index, null, null);
/*等待提示窗口*/
WaitingForm wf = new WaitingForm();
wf.Show(this);
Application.DoEvents();
while (true)
{
if (iar.IsCompleted)
{
wf.Close();
break;
}
}
smd.EndInvoke(iar);

但在进入setStoreInfo方法执行的时候总是提示:线程间操作无效: 从不是创建控件“storeNo”的线程访问它。

storeNo是主窗体中的一个控件,请问这是什么原因?
...全文
1256 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
haiwangstar 2009-07-03
  • 打赏
  • 举报
回复
两个方法:
1. 简单的.把你用线程的操作改成用BackgroundWorker. 这个很容易用.
2. 调用控件上的BeginInvoke封送你对控件访问方法的调用.

Control.CheckForIllegalCrossThreadCalls=false;这个不推荐用, 不安全的.
深海之蓝 2009-07-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zgke 的回复:]
窗体里加 Control.CheckForIllegalCrossThreadCalls=false;
[/Quote]
这个应该不推荐了
zgke 2009-07-03
  • 打赏
  • 举报
回复
窗体里加 Control.CheckForIllegalCrossThreadCalls=false;
ztenv 2009-07-03
  • 打赏
  • 举报
回复
需要invoke操作,看看控件的InvokeRequired和Invoke()的使用方法吧;
fengjian_428 2009-07-03
  • 打赏
  • 举报
回复
主线程外访问UI控件 参考写法

delegate void RefreshForm(string s);
//主线程外操作界面的方法
private void AddList(string s)
{
if (listBox1.InvokeRequired)
{
Invoke(new RefreshForm(AddList), s);
}
else
{

listBox1.Items.Insert(0, s)
}
}
ztenv 2009-07-03
  • 打赏
  • 举报
回复
需要invoke操作,看看控件的InvokeRequired和Invoke()的使用方法吧;
内容概要:本文针对歇性光伏出力条件下48V直流母线电压稳定控制及储能双向充放电闭环调控问题,提出一种基于离网光伏直流微网系统的协同控制体系。通过构建包含光伏阵列、Boost型DC-DC变换器、双向DC-DC变换器与锂离子电池储能系统的完整拓扑结构,结合光伏最大功率点跟踪(MPPT)技术和储能系统的双向功率调节能力,实现对功率供需失衡的有效抑制。系统采用分层控制架构,集成电压外环与电流内环双闭环控制策略,确保在光照强度波动、负载突变等动态工况下维持母线电压稳定。在Simulink环境中搭建全系统仿真模型,验证了控制策略在多种扰动场景下的有效性与鲁棒性,显著提升了微网在无外部电网支撑下的自主运行能力和电能质量水平。; 适合人群:具备电力电子、自动控制与新能源系统基础知识的电气工程及相关专业研究生、科研人员,以及从事光伏储能系统、直流微网设计与仿真的工程技术人员。; 使用场景及目标:①用于教学与科研中离网型光伏直流微网系统的建模与仿真分析;②指导实际工程中48V直流微网的电压稳定控制与储能协调管理方案设计;③为新能源微网中的能量管理与动态响应优化提供理论支持与仿真验证平台。; 阅读建议:建议结合Simulink仿真模型同步学习,重点关注MPPT控制算法、储能双向变换器的双闭环控制结构及其参数整定方法,深入理解系统在不同扰动工况下的响应特性与控制逻辑设计原理。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧