使用ThreadPool添加多个Picturebox

时间:2010-06-10 19:25:18

标签: c# multithreading picturebox threadpool

我正在为大学进行海战。我决定用C#做。我的主板是20 x 20的迷你(20x20)PictureBoxes。问题是,当我加载电路板时,我得到了一个huuuge延迟,用于在包含它们的面板中绘制所有这些。所以我想到ThreadPool我的方法来escale创建picuteres框和绘图fester。

这是正确的方法吗?我想知道即使我启动了20个线程来创建和设置picturesobox,我仍然会有图形延迟。

(我现在不会通过代码,因为可能答案是独立的......如果没有,我会过去接下来的代码:)

抱歉英文不好,

谢谢大家!

3 个答案:

答案 0 :(得分:0)

基本上这不是很好,因为你不应该从主要旁边的其他线程更改UI。这样做会导致不正当的行为。您可以检查加载图片的代码,可能是可以改进的,或者只是考虑不同的实现。

答案 1 :(得分:0)

看看codeproject中的2个示例项目:

答案 2 :(得分:0)

  1. 使用单个帖子。
  2. 在构建UI时明确暂停UI更新,然后恢复更新。
  3. 也许在内存中构造一个位图(您可以将小的位图绘制到位图所代表的图形对象上),然后显示单个位图。 (用这种方法看双缓冲)