我建了两个窗体:Form1窗体 Form2窗体
B窗体上面有一个WebBrowser控件然后我在Form1窗体上面放了一个Button
Button的单击事件里面开启了一个线程
这个线程执行方法是:弹出Form2窗体 结果报错
当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”代码如下
private void button5_Click(object sender, EventArgs e)
{
Thread td = new Thread(new ThreadStart(TheadShowMsg));
td.SetApartmentState(ApartmentState.MTA);
td.Start();
}
void TheadShowMsg()
{
Thread thd = new Thread(new ThreadStart(SHowFOrm));
thd.Start();
}
void SHowFOrm()
{
Form2 fm2 = new Form2();
fm2.ShowDialog();
}
Form2中窗体中有一个WebBrowser控件
B窗体上面有一个WebBrowser控件然后我在Form1窗体上面放了一个Button
Button的单击事件里面开启了一个线程
这个线程执行方法是:弹出Form2窗体 结果报错
当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”代码如下
private void button5_Click(object sender, EventArgs e)
{
Thread td = new Thread(new ThreadStart(TheadShowMsg));
td.SetApartmentState(ApartmentState.MTA);
td.Start();
}
void TheadShowMsg()
{
Thread thd = new Thread(new ThreadStart(SHowFOrm));
thd.Start();
}
void SHowFOrm()
{
Form2 fm2 = new Form2();
fm2.ShowDialog();
}
Form2中窗体中有一个WebBrowser控件
解决方案 »
- 求可以通过asp.net 导出sql server 2005数据结构sql的程序
- 循环生成的picutrebox如何触发mousehover事件,实现鼠标放在不同的picutrebox上弹出不同的messagebox
- 请问,如何判断程序里某个窗体是否为Windows的当前活动窗体?
- 能通过程序开机吗?
- datatimepicker控件怎么把value里的时间去掉只留日期
- 求助:如何在子窗口改变父窗口的toolStripStatusLabel的text值
- 新手请教高手,再问水晶报表的问题,转化成pdf文件格式时出现错误,
- 救助~!请教c#文件共享问题!?
- 如何实现DataGrid底部行的固定
- 如何实现范围数组?就如A[26]={A……Z}
- 新手在线求救(急)
- 文本框,如何实现只读,但是可以设置字体颜色呢?
这个属性也不行!
=》
this.Invoke(new Action(() => fm2.ShowDialog()));试下
private void InitializeComponent()
{
this.webBrowser1 = new System.Windows.Forms.WebBrowser();也就是执行Form2的构造方法的时候都报那个“当前线程不在单线程单元中”错误了
谢谢你了
刚才把您提供的方法改了下 已经可以
不知道对不!您看下!
this.Invoke(new Action(() =>
{
Form2 fm2 = new Form2();
fm2.ShowDialog();
}));
我这样改可以吗?