2013-06-26 40 views
1

时,在启动时会出现下面的代码我收到错误“引用不设置到对象的实例”:未设置为实例错误

switch (Popup_Data_Type_ComboBox.SelectedItem.ToString()) 
      { 

我敢肯定,这个错误发生的Popup_Data_Type_ComboBox尚未创建,因此不可能获取sting值。我如何解决这个问题?

好非常感谢所有帮助我的支票扔如果Popup_Data_Type_ComboBox.SelectedItem == NULL,现在工作得很好

+1

创建'Popup_Data_Type_ComboBox'试图之前访问它。 – Tyler

+0

这可能是SelectedItem太等于null。 *回答*这个问题是不可能的,没有关于你的应用程序体系结构的更多细节。 – Tigran

+0

你说“在启动时发生”。在启动时可能没有选择一个项目 – Jonesopolis

回答

1

开关前添加一个检查,如果代码是刚刚处理Popup_Data_Type_ComboBox.SelectionChanged -event或其类似物的方法:

if (Popup_Data_Type_ComboBox == null 
    || Popup_Data_Type_ComboBox.SelectedIndex < 0) 
{ 
    // Just return from the method, do nothing more. 
    return; 
} 

switch (...) 
{ 

} 
1

的是,您的组合框尚未创建最有可能的问题,或者没有按没有选定的项目。在这种情况下,你必须明确的处理是:

if (Popup_Data_Type_ComboBox != null && Popup_Data_Type_ComboBox.SelectedItem != null) 
{ 
    switch (Popup_Data_Type_ComboBox.SelectedItem.ToString()) 
    { 
     //... 
    } 
} 
else 
{ 
    // Do your initialization with no selected item here... 
} 
+0

当然,如果是前者,你的测试也会失败。 – DonBoitnott

1

我确认:第一,Popup_Data_Type_ComboBox被实例化,然后验证的项目被选中。如果您按照您的说法在启动时运行此操作,那么很可能没有选择任何项目。您可以检查有:

if(Popup_Data_Type_ComboBox.SelectedItem != null) 
{ 
    switch (Popup_Data_Type_ComboBox.SelectedItem.ToString()) 
     { 
      //..... 
     } 
} 
相关问题