【发布时间】:2014-03-03 16:57:48
【问题描述】:
编辑编辑:我发现了这个问题。我们将 : 放在 case 和 value 之间,它需要放在后面。示例:案例“一般”:
感谢您的宝贵时间和大家的意见。
原文:
这必须比我尝试做的简单得多。简单地说,我有一个列表框,里面有 6 个不同的“项目”(General/oSnaps/blah/blah/blah),当有人单击列表框中的一个项目时,我希望它更改面板。我有 6 个不同的面板(面板 1、面板 2 等)堆叠在一起,加载时只有第一个设置为可见。
我确定这只是设置哪个面板可见的问题,但我如何实际将其链接到列表框中的“项目”? SelectedIndexChanged 是我认为的答案,但我对编程非常陌生。
MSDN 只演示了如何在不同列表框中的项目之间进行切换。
任何帮助将不胜感激。
编辑:这是我当前的代码
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e) {
string curItem = listBox1.SelectedItem.ToString();
curItem = listBox1.SelectedItem.ToString();
MessageBox.Show(curItem);
switch(curItem)
{
case : "General" //error here is: Only assignment, call,increment,await,and new object expressions can be used as a statement
panel1.Visible = false;
panel2.Visible = true;
break;
case : "E-Snaps" // same as above
panel2.Visible = false;
panel3.Visible = true;
break;
case : "blah" // same as above
panel3.Visible = false;
panel4.Visible = true;
}
}
单击列表框中的不同项目确实会显示一个包含正确内容的消息框(General/E-Snaps/blah/etc)。所以它显然是在读取它,我们现在如何让它切换面板?
难道我也不能这样做吗?
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e) {
string curItem = listBox1.SelectedItem.ToString();
curItem = listBox1.SelectedItem.ToString();
if curItem = "General"
{
panel1.Visible = true;
}
}
不是说我可以让任何一个工作......但这似乎合乎逻辑。如果我可以进行某种形式的字符串/布尔转换......
【问题讨论】: