我正在嘗試創建一個回圈,該回圈將更改我的標簽陣列以匹配另一個類的串列。我宣布名單為
private List<string> Status = new List<string>(2);
public List<string> GetList()
{
return Status;
}
private void btnFind_Click(object sender, EventArgs e)
{
Position.Add("Unpaid");
Position.Add("Paid");
Position.Add("Unpaid");
}
在第二種形式中
public partial class Form2 : Form
{ Label[] Labels = new Label[3];
private void Form2_Load(object sender, EventArgs e)
{
Labels[0] = this.lblTony;
Labels[1] = this.lblSteve;
Labels[2] = this.lblPeter;
Form1 f1 = new Form1 ();
for (int i = 0; i !=3 ; i )
{
List<string> Status = f1.GetList();
Labels[i].Text = Status[i];
}
}
}
'''
我試圖只輸入相關代碼,但我可能遺漏了什么?錯誤是我沒有得到的 IndexOutOfRangeException,因為它們的大小相同。我嘗試更改大小,但錯誤僅更改為 argumentoutofbounds
uj5u.com熱心網友回復:
試試這個 :
status.Add(lables[i].Text);
安裝的
lables[i].Text = status[i];
我不測驗它但我認為它會起作用!直走
uj5u.com熱心網友回復:
您顯示的代碼中有很多東西不是很好,但是如果您想遵循這種方法,那么為什么不只是:
class Form1
{
private List<string> Status = new List<string>();
public List<string> GetList()
{
return Status;
}
// I'm guessing as to how you add elements to Status
public Form1()
{
Status.Add("Item 1");
Status.Add("Item 2");
Status.Add("Item 3");
}
}
public partial class Form2 : Form
{
Label[] Labels = new Label[3];
private void Form2_Load(object sender, EventArgs e)
{
Labels[0] = this.lblTony;
Labels[1] = this.lblSteve;
Labels[2] = this.lblPeter;
Form1 f1 = new Form1();
List<string> Status = f1.GetList();
Debug.Assert(Labels.Length == Status.Count());
for (int i = 0; i < Status.Count(); i)
{
Labels[i].Text = Status[i];
}
}
}
看起來您的主要問題是您在構造物件時為 Status 分配了 2 的空間,但在復制值時為 3 運行回圈。如果你使用的是 aList你很少需要預先分配它的大小。
uj5u.com熱心網友回復:
我將使用這種語法創建您的標簽陣列,因此您不必指定大小:
Label[] Labels;
private void Form2_Load(object sender, EventArgs e)
{
Labels = new Label[] { this.lblTony, this.lblSteve, this.lblPeter };
}
另外,我懷疑您會因為 Form2 中的這一行而收到錯誤訊息:
Form1 f1 = new Form1 ();
...因為這正在創建 Form1 的“不可見”實體,并且可能不是您螢屏上的 Form1,大概是單擊“btnFind”按鈕將專案添加到串列中(這是您發布的代碼中的錯字嗎?)。
如果是這種情況,那么您需要對實際可見的 Form1 的參考。您可以通過建構式或方法、通過Show()方法將 Form1 傳遞到 Form2 或通過迭代Application.OpenForms集合并在那里找到 Form1 來使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/416299.html
標籤:
上一篇:Core5.0專案參考Framework4.7.2專案并拋出'System.Security.Cryptography.SHA256Cng'錯誤
