带有 ComboBox 的 C# MessageBox 不起作用
C# MessageBox with ComboBox doesn't works
带有错误信息的最后一个MessageBox
不起作用;该程序只是崩溃。我想使用 MessageBox
向用户表明他们忘记了 select 其中一项:Mountenbike、Rennrad 或 Faltrad。
if (typen.SelectedItem.ToString() == "Mountenbike")
{
mb = new Mountenbike(artikelNr, name, ekPreis, vkPreis);
mbCounter++;
MessageBox.Show("Fertig");
}
else if (typen.SelectedItem.ToString() == "Rennrad")
{
rr = new Rennrad(artikelNr, name, ekPreis, vkPreis);
rrCounter++;
MessageBox.Show("Fertig");
}
else if (typen.SelectedItem.ToString() == "Faltrad")
{
fr = new Faltrad(artikelNr, name, ekPreis, vkPreis);
frCounter++;
MessageBox.Show("Fertig");
}
else if (typen.SelectedItem == null)
{
MessageBox.Show("Error - Please enter xyz");
}
您可能遇到异常,因为您无法在空引用上实例化方法 ToString()
,假设您最后的 else if
语句认为 typen.SelectedItem
的值可能如果未选择任何内容,则为 null。
在针对它实例化任何方法之前,您应该先检查 typen.SelectedItem
的值是否为 null
。这可以简单地完成:
if (typen.SelectedItem == null)
{
MessageBox.Show("Error - Please enter xyz");
return;
}
if (typen.SelectedItem.ToString() == "Mountenbike")
{
mb = new Mountenbike(artikelNr, name, ekPreis, vkPreis);
mbCounter++;
MessageBox.Show("Fertig");
}
else if (typen.SelectedItem.ToString() == "Rennrad")
{
rr = new Rennrad(artikelNr, name, ekPreis, vkPreis);
rrCounter++;
MessageBox.Show("Fertig");
}
else if (typen.SelectedItem.ToString() == "Faltrad")
{
fr = new Faltrad(artikelNr, name, ekPreis, vkPreis);
frCounter++;
MessageBox.Show("Fertig");
}
带有错误信息的最后一个MessageBox
不起作用;该程序只是崩溃。我想使用 MessageBox
向用户表明他们忘记了 select 其中一项:Mountenbike、Rennrad 或 Faltrad。
if (typen.SelectedItem.ToString() == "Mountenbike")
{
mb = new Mountenbike(artikelNr, name, ekPreis, vkPreis);
mbCounter++;
MessageBox.Show("Fertig");
}
else if (typen.SelectedItem.ToString() == "Rennrad")
{
rr = new Rennrad(artikelNr, name, ekPreis, vkPreis);
rrCounter++;
MessageBox.Show("Fertig");
}
else if (typen.SelectedItem.ToString() == "Faltrad")
{
fr = new Faltrad(artikelNr, name, ekPreis, vkPreis);
frCounter++;
MessageBox.Show("Fertig");
}
else if (typen.SelectedItem == null)
{
MessageBox.Show("Error - Please enter xyz");
}
您可能遇到异常,因为您无法在空引用上实例化方法 ToString()
,假设您最后的 else if
语句认为 typen.SelectedItem
的值可能如果未选择任何内容,则为 null。
在针对它实例化任何方法之前,您应该先检查 typen.SelectedItem
的值是否为 null
。这可以简单地完成:
if (typen.SelectedItem == null)
{
MessageBox.Show("Error - Please enter xyz");
return;
}
if (typen.SelectedItem.ToString() == "Mountenbike")
{
mb = new Mountenbike(artikelNr, name, ekPreis, vkPreis);
mbCounter++;
MessageBox.Show("Fertig");
}
else if (typen.SelectedItem.ToString() == "Rennrad")
{
rr = new Rennrad(artikelNr, name, ekPreis, vkPreis);
rrCounter++;
MessageBox.Show("Fertig");
}
else if (typen.SelectedItem.ToString() == "Faltrad")
{
fr = new Faltrad(artikelNr, name, ekPreis, vkPreis);
frCounter++;
MessageBox.Show("Fertig");
}