关于C#线程间访问的问题,高手请帮忙看看!

cucmberman 2008-12-19 12:00:20
现在有两个类:
class A{

public void addItem()
{

}
}

class B{

public void threadOne()
{

}

}
类B中的方法ThreadOne是一个线程方法,类A中的addItem方法功能是向窗体控件中添加内容。
程序中通过委托的方式将类A中的addItem方法传给了类B,类B的线程TreadOne在执行的时候将
调用类A的方法,可是程序运行是却出现了问题,线程并没有成功的往窗体上添加内容,系统提示:
非法访问异常。
请高人指点一下
...全文
101 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cucmberman 2008-12-19
  • 打赏
  • 举报
回复
试了的,可是还是不行呀
zgke 2008-12-19
  • 打赏
  • 举报
回复

this.Invoke((MethodInvoker)delegate
{ TextBox1.Text = "aaa"; });
F_sea 2008-12-19
  • 打赏
  • 举报
回复
INVOKE 跨线程访问
Deathsign 2008-12-19
  • 打赏
  • 举报
回复
线程访问控件。。。。
必须用Control.Invoke调用
或者把安全跨线程调用控件关了
cucmberman 2008-12-19
  • 打赏
  • 举报
回复
忘记了,我用的开发环境是VS.net2005
gsmlove 2008-12-19
  • 打赏
  • 举报
回复
mark
li_ming 2008-12-19
  • 打赏
  • 举报
回复
说得太绕口了,把代码给齐嘛
huangyuancao 2008-12-19
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;//引入命名空间

namespace 线程的使用
{
class Program
{
static void Main(string[] args)
{
a aa = new a();
aa.start();

}
}
public class a
{
public void start()
{
Thread th1, th2;//定义线程
th1 = new Thread(new ThreadStart(Method1));//将线程和方法关联
th1.Start();//执行线程的方法
th2 = new Thread(new ThreadStart(Method2));
th2.Start();
System.Console.ReadLine();
}
public void Method1()
{
for (int i = 0; i < 100; i++)
Console.WriteLine("这是类AClass方法method1的内容", i);
}
public void Method2()
{
for (int i = 0; i < 100; i++)
Console.WriteLine("这是类AClass方法method2的内容", i);
}
}

}

111,130

社区成员

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

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

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