【问题标题】:Picture Boxes in C#C#中的图片框
【发布时间】:2013-03-17 21:25:11
【问题描述】:

我在添加一些 picture boxes 时遇到问题。我有一个form(它是类)和一个单独的类。我想做的是把我第二堂课的一些picture boxes放在form中,但似乎我不知道怎么做。哦,我不想将图片框从第二类发送到主类,然后添加到那里,而是直接添加它。如果我尝试类似:

Form1.ActiveForm.Controls.Add(x); 

(其中 x 是我的图片框)从第二堂课我得到'Cross-thread operation not valid' 异常。

感谢您的建议!

【问题讨论】:

  • 1.阅读您的错误信息。 2. 尝试理解您的错误信息。这是一个常见错误,这个问题之前已经被问过。
  • 您尝试过 google.com 吗?
  • 您的错误信息涉及多个线程,但您的问题描述不是。

标签: c# winforms picturebox


【解决方案1】:

您是否尝试在非 UI 线程上运行显示您的图片?通常这是你如何得到一个跨线程操作无效的异常。

您可能只需要在课堂上执行以下操作。

if (this.InvokeRequired)
{
   this.Invoke(() => ActiveForm.Controls.Add(x));
}
else
{
   ActiveForm.Controls.Add(x);
}

这将确保您使用 UI 线程来执行您的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多