【问题标题】:Drawing with threads on a PictureBox Image在 PictureBox 图像上使用线程绘图
【发布时间】:2012-11-15 00:45:09
【问题描述】:

我正在尝试使用线程在 PictureBox 中的图像上绘制多个椭圆,但是当我与表单交互时(比如移动它),当我克隆当前时,GDI 会抛出 InvalidOperationException(当前正在使用的对象)线程中的图像。

我想要实现的是能够在画布上为一些形状设置动画,并让用户在与表单交互(以及放大图像等)时获得流畅的体验。

实现此目的的最佳方法是什么?

【问题讨论】:

    标签: c# multithreading gdi


    【解决方案1】:

    保留与后台线程交互的单独图像,然后在有新内容要显示时将其克隆到 UI 线程。克隆应该通过 BeginInvoke 完成

    【讨论】:

      【解决方案2】:

      在与 PictureBox 交互之前,您可能需要调用 BeginInvoke 以进入 GUI 线程。

      就这样……

      form.BeginInvoke(ManipulatePictureBox);
      

      【讨论】:

        猜你喜欢
        • 2012-07-17
        • 2012-05-10
        • 2018-03-16
        • 1970-01-01
        • 2018-03-17
        • 1970-01-01
        • 2015-05-15
        • 2011-11-13
        • 1970-01-01
        相关资源
        最近更新 更多