看到了将窗体所有TextBox控件置0的,我想求一个更改Name的方法
如图,我有一个TabPage里面有很多个输入框,用来设置不同目录的,我希望窗体加载的时候Text下面的textBox的name自动变成上面label显示的文字,即textBox1.name=label1.Text;,这个数量都是对应的1对1,2对2 textbox 控件 历遍
[解决办法]
Label[] arrLabel = this.Controls.OfType<Label>().ToArray();
foreach (Label lbl in arrLabel)
{
string sIndex = lbl.Name.Substring(5, lbl.Name.Length - 5);
Control[] arr = this.Controls.Find("textBox" + sIndex, false);
{
TextBox txt = arr[0] as TextBox;
txt.Name = lbl.Text;
}
}
Label[] arrLabel = this.Controls.OfType<Label>().ToArray();
foreach (Label lbl in arrLabel)
{
//
if (lbl.Name.Length > 5 && lbl.Name.Substring(0, 5) == "label")
{
string sIndex = lbl.Name.Substring(5, lbl.Name.Length - 5);
int iIndex = 0;
bool bRet = int.TryParse(sIndex, out iIndex);
if (bRet && iIndex > 0)
{
//
Control[] arr = this.Controls.Find("textBox" + sIndex, false);
if (arr.Length == 1 && arr[0] is TextBox)
{
TextBox txt = arr[0] as TextBox;
txt.Name = lbl.Text;
}
}
}
}