C# 中如何根据控件的TEXT来找到这个控件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 中如何根据控件的TEXT来找到这个控件相关的知识,希望对你有一定的参考价值。
例如,窗口中有N个按钮,现在动态知道了某个按钮的TEXT,要找到这个按钮,让一个新变量BUTTON C=这个按钮,然后对这个按钮进行操作,该怎么做呢?
参考技术A 思路:循环这个窗体里的所有的控件,检查控件的TEXT,找到你的控件 参考技术B ControlCollection con = Page.Form.Controls;for (int i = 0; i < con.Count; i++)
if (con[i].GetType().Name =="Button")
if (((Button)con[i]).Text == "Oldvalue")
((Button)con[i]).Text = "newvalue";
本回答被提问者采纳
C#里怎么根据一个对象的名称来取得这个对象的属性
就是我传入一个Form上有的一个对象的名称,从而来设置它的属性!
就是比如我Form上有一些文本对象,名称是L1->L6
我就想写一个方法传入一个string字符串,比如传入L1,那么我就对L1这个文本对象来进行操作(设置Text)
如果你的label放在了别的容器中,你需要通过form的controls取到容器控件,在通过容器控件的controls属性来取得需要的控件。
以下是VB的类似代码,参考一下。思路一样,只是语法不同罢了。
For Each ctl As Control In ctrls
Select Case ctl.GetType.Name
Case GetType(TextBox).Name
errProvider.SetIconPadding(ctl, -18)
If (Not ctl.Tag Is Nothing) AndAlso ctl.Tag.ToString() = "EmailCheck" Then
AddHandler ctl.Validating, AddressOf EmailValidating
ElseIf (Not ctl.Tag Is Nothing) AndAlso ctl.Tag.ToString() = "FolderCheck" Then
AddHandler ctl.Validating, AddressOf DirValidating
Else
AddHandler ctl.Validating, AddressOf DataValidating
End If
Case GetType(ComboBox).Name
errProvider.SetIconPadding(ctl, -36)
AddHandler ctl.Validating, AddressOf DataValidating
Case Else
If ctl.Controls.Count > 0 Then
SetErrorProvider(ctl.Controls)
End If
End Select
Next 参考技术A 把控件放进HashTable,名称为键 参考技术B 可以遍历窗体上的控件,然后找到L1这个控件,然后可以进行设置 参考技术C atalentsoft - 已经回答了 参考技术D System.Reflection 第5个回答 2009-04-10 说的具体一些
以上是关于C# 中如何根据控件的TEXT来找到这个控件的主要内容,如果未能解决你的问题,请参考以下文章