三个PictureBoxes中的一个不会更新

时间:2012-11-30 21:52:16

标签: c# winforms

背景

我的节目是直播视频winform应用程序。我的表单上有三个PictureBox。这些图片框会根据其父表单大小自动调整大小。我的程序中的一个线程使用安全Invoke方法从30 fps相机更新带有三个2048x2048图像的图片框。

问题:

当表格足够小时,所有三个图片框都显示正常,尽管有问题的图片框比其他图片框慢一点。但是如果表单变大,只有一个图片框没有更新,而另外两个图片框更新得很好。仅供参考,这些照片同时被推入像素盒。这可能听起来很愚蠢但是有问题的图片框看起来有缺陷

问题:

我想了解为什么会出现这种症状 - 相同尺寸的图片框同时获得相同大小的图片,但其中只有一个未更新。这个显卡有问题吗?有什么方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

尝试使用c#开源ispy软件http://www.ispyconnect.com/

答案 1 :(得分:0)

<强>更新

我认为这是表单刷新的问题,我创建了一个线程来定期刷新我的表单。我认为解决了非更新问题。

    private void MyForm_Load(object sender, EventArgs e)
    {
        Thread thread = new Thread(() =>
        {
            while (!m_bFormClose)
            {
                this.SafeInvoke(Refresh);
                Thread.Sleep(500);
            }
        });
        thread.Start();
    }

我想我可以用计时器做到这一点,但我觉得线程更安全。如果您有更好的方法,请发表评论或回答。