這是我完成的一段代碼,但我想讓它更短。
textBox0.Text = array[0];
textBox1.Text = array[1];
textBox2.Text = array[2];
textBox3.Text = array[3];
textBox4.Text = array[4];
....
這就是我想要的:
int a = 0;
for(int N=0; N ; N<5)
textboxN.text = array[a];
a ;
uj5u.com熱心網友回復:
如果文本框有一個公共容器或父級,如 Panel 或 GroupBox 控制元件,您可以執行以下操作:
TextBox[] textBoxes = container.Controls.OfType<TextBox>().ToArray();
然后后來:
for(int N = 0; N < array.Length; N )
{
textbox[N].Text = array[N];
}
請注意,容器甚至可以是您的表單,但在這種情況下,您必須確保表單上沒有其他 TextBox 控制元件。這就是為什么像無邊界面板之類的東西在這里可能有用的原因;它在表單上為您提供了一個邏輯部分,以用戶不可見的方式將這些欄位分開。
uj5u.com熱心網友回復:
這可以幫助您:
List<TextBox> textBoxes = new List<TextBox>() {textBox0, textBox1, textBox2, textBox3, textBox4 };
for(int i = 0; i < textBoxes.Count; i )
{
textBoxes[i].Text = array[i];
}
您將文本框放入一個串列中,然后瀏覽它們并設定值。這是作為單線
textBoxes.Foreach(x => x.Text = array[textBoxes.IndexOf(x)]);
uj5u.com熱心網友回復:
嘗試這個
var textBoxList = new List<Control>();
foreach (var control in this.Controls)
{
if (control.GetType().Name == "TextBox")
{
textBoxList.Add(control as Control);
}
}
textBoxList = textBoxList.OrderBy(t => t.Name).ToList();
for (var i = 0; i < textBoxList.Count; i )
{
textBoxList[i].Text = array[i];
}
uj5u.com熱心網友回復:
你可以嘗試這樣的事情,但如果你有幾十個文本框,那就有意義了
var maxIndex=array.length;
foreach (var control in this.Controls)
{
var textBox = control as TextBox;
if (textBox != null && textBox.Name.Substring(0,6)=="textBox")
{
int number;
var value = textBox.Name.Substring(7));
var success = int.TryParse(value, out number);
if (success && number < maxIndex))
{
textBox.Text=array[number];
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/339318.html
上一篇:使用JS禁用html中選擇的欄位
