什麼是關於創建List<TextBox>
,然後使用索引得到一個文本框和做同樣的事情與使用List<double>
lenght?
//List<TextBox> listTextBoxes = new List<TextBox>();
//populate the list of textboxes
//List<double> listEaveLength = new List<double>();
for (int i = 1; i <= comboBox1.SelectedIndex + 1; i++)
{
if (listTextBoxes[i].IsEnabled == false)
{
listEaveLength[i] = 0;
}
else if (listTextBoxes[i].Text == "")
{
throw new Exception(listTextBoxes[i].Name + " must have a value");
}
else if (!double.TryParse(listTextBoxes[i].Text, out listEaveLength[i]))
{
throw new Exception(listTextBoxes[i].Name + " must be numerical");
}
}
至於說millimoose管理並行陣列可能很難,而不是更好的解決方案。 所以,你可以創建一個這樣的類:
class DataStructure
{
public TextBox Textbox
{
get;
set;
}
public double Lenght
{
get;
set;
}
public DataStructure(TextBox Textbox)
{
this.Textbox = Textbox;
}
}
然後一直使用List<DataStructure>
:
//List<DataStructure> myList = new LList<DataStructure>();
//myList.Add(new DataStructure(myTextBox));
//... populate your list
for (int i = 1; i <= comboBox1.SelectedIndex + 1; i++)
{
if (myList[i].Textbox.IsEnabled == false)
{
myList[i].Lenght = 0;
}
else if (myList[i].Textbox.Text == "")
{
throw new Exception(myList[i].Textbox.Name + " must have a value");
}
else if (!double.TryParse(myList[i].Textbox.Text, out myList[i].Lenght))
{
throw new Exception(myList[i].Textbox.Name + " must be numerical");
}
}
沒有定義的方式循環無限的se噸。至少你永遠不會做。 – 2012-07-21 12:09:45
@MareInfinitus這可能是一個糟糕的措辭,因爲ESL。顯然,你無法在屏幕上顯示無限量的文本框。 – millimoose 2012-07-21 13:00:17
!無限!!這是很多內存:o) – NestorArturo 2012-07-21 13:56:31