關於調用自己寫控制項庫後,導致主窗體出現索引超範圍,或者值無效等等的問題,以下是解決方法
- 2020 年 10 月 22 日
- 筆記
錯誤如下圖,該錯誤在程式碼中並不會報紅。大家可以看看能否解決。
自定義窗體控制項,在調用的時候會有一個預讀的過程,這個時候如果我們定義下拉菜單,如下:
comboBox1.Items.Clear();
comboBox1.Items.Add(“123”);
for (int i = 0; i < 5; i++)
{
comboBox1.Items.Add(“345”);
}
comboBox1.Text = comboBox1.Items[0].ToString();
拉出來的控制項就會顯示123,而不會顯示345。
一但comboBox1.Items.Add(“123”);這句去除掉,程式不會報紅,而
使用了該控制項的窗體就會出錯,同時該控制項也無法使用。而程式運行卻能正常運行,
因為預讀的時候並不進入for循環;
該錯誤就比如下面的程式碼,Console.WriteLine(str1);,會報str1上下文不存在一樣,不過這個會報紅。
for (int i = 0; i < 5; i++)
{
string str1 = “22”;
}
Console.WriteLine(str1);