大家好,我想问个关于C#里面多线程的问题哈,我在Form1上有个按钮,按了之后响应事件启动了一个线程(线程A),线程A要完成一些比较费时间的事,中间要实时生成Chart,和不断更新Chart,由于在一个线程上创建的控件不能成为另一个线程上创建的控件的父级,所以在生成Chart的时候我又要用到委托,委托给另一个函数去生成Chart(委托A),于是程序就经常出问题了,经常发生InvalidOperationException,提示“对象当前正在其他地方使用。”,下面的疑难提示写的是“如果在使用GetHdc方法后使用Graphics对象,请调用ReleaseHdc方法。”,我想问问这是怎么回事啊?首先,问题并不是线程A引起的,是加了委托之后才出现的,其次委托A是很短的一个小函数,而且我设了标记变量了,用来标记它是不是运行完了,它没运行完的时候线程A应该是不会往下运行的,那这到底是怎么回事呢,还是实时更新Chart的时候程序自己又生成新的线程了呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货