搞笑。
你必须确保str3这个字符串被分割成5段以上,存放在sArray数组里。否则就会索引超出数组界限。你看sArray[4]已经访问了数组的第5个元素了。
话说回来,良好的编程习惯应该有基本的逻辑判断与异常处理代码。看你的代码,一样都没有。
先分析出错原因:
str3 = Convert.ToString(listBox1.SelectedIndex);中,listBox1.SelectedIndex是一个int型数据,转换成字符串以后,使用Split以后的string[] sArray,肯定只有一个元素。
修改为:
str3 = Convert.ToString(listBox1.SelectedValue);
str3 = Convert.ToString(l;
可以直接使用 istBox1.SelectedIndex.toString()转化成字符串
comboBox1.SelectedIndex = Convert.ToInt32(sArray[4].Trim());????
要看你的 string[] sArray 提取到了几项了。加一个 length 检测,
如果 只有2项,,,,那你就越界了......
错误发生在:::::
textBox3.Text = sArray[2];
textBox4.Text = sArray[3];
1.确定sArray有5个以上的元素
2.看Convert.ToInt32(sArray[4].Trim()); 这个值 是不是超过了combobox1的Item数+1
str3 = Convert.ToString(listBox1.SelectedIndex);
是选的第几项,不是选中的值.你这str3=4什么的
你先输出看是什么,是不是你要的值