激活器在组合框设置自动完成模式下崩溃

时间:2012-05-26 15:40:16

标签: c# winforms combobox activator

我需要使用激活器实例化表单,因为我需要迭代所有表单的控件来设置属性。对于这个程序,我使用下面的代码。

using (Form frm = (Form)Activator.CreateInstance(type))
                    {
                        using (SqlConnection cn = new SqlConnection(Program.connectionString))
                        {

                            cn.Open();
                            General.ProcessControls(cn, frm, frm.GetType().Name);
                            cn.Close();
                        }
                    }

直到这里都好。上面的代码像所有表单的魅力一样运行,除了我在SuggestAppend模式中设置了自动完成模式的组合框。在这种形式下,我的应用程序在尝试设置自动完成模式时,将InvocationTargetException与函数InitializeComponent()崩溃。下面是我的应用程序崩溃的代码行。

 this.comboBoxAreaType.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
        this.comboBoxAreaType.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; 

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

agent-j你的评论非常有助于理解出了什么问题。

我在调用线程start()之前添加命令bellow将我的线程设置为STA AppartmentState,现在它就像魅力一样。

thread.SetApartmentState(ApartmentState.STA);