my C# program code is given as follows.I get the error "System.InvalidOperationException".
private void Form1_Load(object sender, EventArgs e)
{
this.CenterToScreen();
this.Size = new Size(progressBar.Width, progressBar.Height);
var thread2 = new Thread(new ThreadStart(() => StartPrinting(this)));
thread2.Start();
}
static void StartPrinting(Form1 dlg)
{
dlg.progressBar.Step = 1;
dlg.prdogressBar.Minimum = 0;
dlg.progressBar.Maximum = 3;
}
显然这个变量没有被引用。但是,下面的代码没有问题。 私人无效Form1_Load(对象发送者,EventArgs e) { this.CenterToScreen();
this.Size = new Size(progressBar.Width, progressBar.Height);
progressBar.Step = 1;
prdogressBar.Minimum = 0;
progressBar.Maximum = 3;
var thread2 = new Thread(new ThreadStart(() => StartPrinting(this)));
thread2.Start();
}
您正在尝试从另一个线程访问在 UI 线程中创建的控件(例如进度条)。这是不允许的。