日期:2014-05-18  浏览次数:20923 次

COMBOBOX中选择各个项目的条件语句,帮帮修改下
if (comboBox1.SelectedItem.ToString() == "sin")
  {
  data2 = Math.Sin(data1 / 180 * Math.PI);
  }
  else if (comboBox1.SelectedItem.ToString() == "cos")
  {
  data2 = Math.Cos(data1 / 180 * Math.PI);
  }
  else
  {
  MessageBox.Show("请选择sin或者cos");
  return;
  }
我COMBOBOX只有两个条目,我的意思是当没有选这俩之一时返回个提示并终止。不过运行时不选择这两个时是程序出错不运行第三个条件,怎么回事,帮忙这个该怎么写?

------解决方案--------------------
你程序启动时comboBox1.SelectedItem == null
这时候comboBox1.SelectedItem.ToString() 肯定错误了
你可以先取 comboBox1.SelectedIndex 如果comboBox1.SelectedIndex== -1 为没选中
这种问题调式下就出来了
------解决方案--------------------
当不选择这两项时可能comboBox1.SelectedItem是空值,是不能ToString的。
可这样试试:

if (comboBox1.SelectedItem!=null)
{
if (comboBox1.SelectedItem.ToString() == "sin") 

data2 = Math.Sin(data1 / 180 * Math.PI); 

else if (comboBox1.SelectedItem.ToString() == "cos") 

data2 = Math.Cos(data1 / 180 * Math.PI); 

else 

MessageBox.Show("请选择sin或者cos"); 
return; 

}
else
{
MessageBox.Show("没有任何选择"); 
return; 
}