请一些身体帮我处理我的代码我再次获得ArguementOutofRange Exception&再次。请告诉我我做错了什么。我为此尝试了每个循环,但它总是给出ArgueOutofrange错误。
例外是: -
“InvelidArguement ='3'的值对'SelectedIndex'无效。参数名称:SelectedIndex”
&安培;
警告是:
“异常的结果始终为'true',因为'int'类型的值永远不会等于'int'类型的'null'”
这是我的代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
listBox1.Items.Add("www.google.com");
listBox1.Items.Add("www.facebook.com");
listBox1.Items.Add("www.yahoo.com");
listBox1.SelectedIndex = 0;
listBox1.DataSource = listBox1.Items;
}
private void button1_Click(object sender, EventArgs e)
{
var num = listBox1.Items.Count;
string str = Convert.ToString(num);
textBox1.Text = str;
for (int i = 0; i < num; )
{
webBrowser1.Navigate(listBox1.SelectedItem.ToString());
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
{
listBox1.SelectedIndex = listBox1.SelectedIndex + 1;
}
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
var num = listBox1.Items.Count;
string str = Convert.ToString(num);
textBox1.Text = str;
}
}
答案 0 :(得分:0)
首先,帮自己一个忙,然后看看BackgroundWorker
而不是DoEvents
。 `DoEvents是错的。
除了在一个问题中倾倒几十行代码并要求人们找出问题所在并修复它之外,你真的没有给我们太多的帮助。如果您希望人帮助,发生例外的情况是常见的礼貌。
问题可能位于SelectedIndex
中指定button1_Click
的行。如果浏览器中的所有项目都成功,您将把所选索引设置为3,最高有效索引为2.