我收到错误"引用没有设置为对象的实例"在启动时出现以下代码:
switch (Popup_Data_Type_ComboBox.SelectedItem.ToString())
{
我很确定发生此错误是因为尚未创建Popup_Data_Type_ComboBox因此无法获取sting值。我该如何解决这个问题?
好的,非常感谢我在检查中提供的所有帮助,如果Popup_Data_Type_ComboBox.SelectedItem == null并且它现在可以正常工作
答案 0 :(得分: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...
}
答案 1 :(得分:1)
首先验证Popup_Data_Type_ComboBox是否已实例化,然后验证是否已选择某个项目。如果你在启动时运行它,如你所说,那么可能没有选择任何项目。你可以查看:
if(Popup_Data_Type_ComboBox.SelectedItem != null)
{
switch (Popup_Data_Type_ComboBox.SelectedItem.ToString())
{
//.....
}
}
答案 2 :(得分:1)
在切换之前添加一个检查,假设代码位于只处理Popup_Data_Type_ComboBox.SelectionChanged
- 事件或类似事件的方法中:
if (Popup_Data_Type_ComboBox == null
|| Popup_Data_Type_ComboBox.SelectedIndex < 0)
{
// Just return from the method, do nothing more.
return;
}
switch (...)
{
}