【发布时间】:2019-03-18 12:52:36
【问题描述】:
我想在后台运行代码,但遇到了这个错误:
'跨线程操作无效:控件'metroComboBox1'从创建它的线程以外的线程访问。
private void metroRename_Click(object sender, EventArgs e)
{
if (backgroundWorker1.IsBusy)
backgroundWorker1.CancelAsync();
backgroundWorker1.RunWorkerAsync(metroComboBox1.Text);
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
this.Invoke((MethodInvoker)delegate ()
{
string text = metroComboBox1.Text;
});
if (metroComboBox1.SelectedItem == "TITLE") //error here
{
//some code here
}
}
如何在后台工作人员中使用组合框?
【问题讨论】: