我希望从我想要创建的其他线程创建一个按钮(由我作为用户控件创建)。问题是我知道如何从另一个线程修改用户控件对象(使用委托和.InvokeRequired),但我不知道如何创建一个。有什么建议吗?
答案 0 :(得分:4)
尝试以下方法:
// From the other thread
userControl11.BeginInvoke(new Action(() =>
{
var button = new Button();
button.Text = "My new button";
userControl11.Controls.Add(button);
}));
在委托(() => { }
)中,您可以使用用户控件和表单执行任何操作。
答案 1 :(得分:2)
答案 2 :(得分:2)
使用与修改用户控件相同的方法。创建控件的函数必须在UI线程中执行,并使用Invoke或BeginInvoke调用。使用委托参数传递控件创建所需的所有信息。