+-
我有字符串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# – 如何将字符串转换为控件? - 乐贴网