+-
c# – 如何将字符串转换为控件?
我有字符串MyText持有“L1”

我有标签控制,他的名字是“L1”

有没有办法用MyText读取标签L1?

类似于:TMT = MyText.Text

或:TMT =((Control)MyText.ToString()).文本;

提前致谢

最佳答案
查找具有指定名称的控件:

var arr = this.Controls.Where(c => c.Name == "Name"); var c = arr.FirstOrDefault();

或在指定类型的控件内搜索:

var arr = this.Controls.OfType<Label>(); var c = arr.FirstOrDefault();

编辑:

如果你有一个控件名称数组,你可以找到它们:

var names = new[] { "C1", "C2", "C3" }; // search for specified names only within textboxes var controls = this.Controls .OfType<TextBox>() .Where(c => names.Contains(c.Name)); // put the search result into a Dictionary<TextBox, string> var dic = controls.ToDictionary(k => k, v => v.Text);

(以上所有内容都需要.NET 3.5)

如果你没有它,你可以做下一个:

Control[] controls = this.Controls.Find("MyControl1"); if(controls.Lenght == 1) // 0 means not found, more - there are several controls with the same name { TextBox control = controls[0] as TextBox; if(control != null) { control.Text = "Hello"; } }
点击查看更多相关文章

转载注明原文:c# – 如何将字符串转换为控件? - 乐贴网