if (radioButton1.Checked)
{
int a;
string s = comboBox1.SelectedItem.ToString();
if (s == "30 Days")
{
a = 30;
}
if (s == "60 days")
{
a = 60;
}
else
{
MessageBox.Show(comboBox1.SelectedItem.ToString());
}
view_n_cstmr v = new view_n_cstmr(a);
v.MdiParent = this.MdiParent;
v.Show();
}
'a'(int)的值不会影响此代码,但在swe中找到了组合框的项目 请帮帮我
答案 0 :(得分:3)
代码中最大的问题(可能让您感到困惑)是第一个if
语句未与下一个if...else
语句“连接”。尝试将其更改为:
if {...}
else if {...}
else {...}
答案 1 :(得分:1)
我认为存在字符串敏感比较的问题。
请尝试以下代码进行字符串不敏感比较 -
if (radioButton1.Checked)
{
int a; string s = comboBox1.SelectedItem.ToString();
if (string.Compare(s, "30 days", true) == 0) { a = 30; }
else if (string.Compare(s, "60 days", true) == 0) { a = 60; }
else
{
MessageBox.Show(comboBox1.SelectedItem.ToString());
}
}
答案 2 :(得分:0)
我认为应该是
if (radioButton1.Checked)
{
int a = 0;
string s = comboBox1.SelectedItem.ToString();
if (s == "30 Days")
a = 30;
else if (s == "60 days")
a = 60;
else
MessageBox.Show(comboBox1.SelectedItem.ToString());
view_n_cstmr v = new view_n_cstmr(a);
v.MdiParent = this.MdiParent;
v.Show();
}
答案 3 :(得分:0)
switch (s.ToLower())
{
case "30 days":
a = 30;
break;
case "60 days":
a = 60;
break;
default:
MessageBox.Show(comboBox1.SelectedItem.ToString());
break;
}
答案 4 :(得分:0)
许多人已经指出你正在使用的if else语句没有连接。
并且。在您的组合框中,您还有其他项目"30 Days"
和"60 days"
吗?
在你的其他地方,你没有设置整数a。
这会导致恭维错误:“Use of unassigned local variable 'a'
”
代码中的这一行。
view_n_cstmr v = new view_n_cstmr(a);
也许将变量'a'赋值为默认值,或者在else语句中返回?