请教大侠们,我在OrderInfo这个窗口里用的是backgroundworker控件,用多线程处理的。当我在当前的窗口调用这个子窗口时,引发了ArgumentOutOfRangeException异常,不知道这是怎么回事了。而且我也禁用了CheckForIllegalCrossThreadCalls = false;这个异常,求高手指点。
OrderInfo orderInfo = new OrderInfo(this.OrderId, this);
orderInfo.TopLevel = false;
orderInfo.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
orderInfo.Dock = DockStyle.Fill;
orderInfo.Parent = this.panelEx1;
try
{
orderInfo.Show();
orderInfo.BringToFront();
}
catch { }
界面必须在UI线程中处理,InvokeRequired这个属性你可查查
这个问题后来我自己解决了,不过还是感谢你的回答。其实只要把开启后台线程的那句代码放到onload里面去就可以了,之前是放在窗口的构造涵数里面的。