通过控件名返回控件对象、反射
浏览量:1987
时间:2024-06-12 16:43:17
作者:采采
在WINFORM程序中,我们经常会遇到一种情况,即知道某一控件的名称,需要直接将该名称转换成控件对象。这样我们就可以使用该控件的某个属性或者方法。比如,假设现在有一个按钮控件,其名称为"button1",我们想要将其Enabled属性设置为False。下面介绍两种方法来实现这一目标。
方法一:通过查找控件名称的方法返回等值控件对象
```csharp
("button1", True)(0).Enabled False
```
以上方法是在窗体中查找所有名称为"button1"的对象,并返回数组。我们可以通过取数组中的第一个对象来获取该控件。
方法二:通过反射的方法获取对象
首先,我们需要准备一个函数,该函数根据对象名称返回该对象。
```csharp
Function GetObj(ByVal Pobj As Object, ByVal ObjName As String) As Object
Return ().GetField("_" ObjName, Or Or ).GetValue(Pobj)
End Function
```
然后,我们可以直接调用上述函数来获取控件对象并设置其Enabled属性为False。
```csharp
GetObj(Me, "button1").Enabled False
```
其中,Pobj参数表示当前对象的容器,一般使用Me表示当前窗体对象。
通过上述两种方法,我们可以方便地根据控件名称获取对应的控件对象,并进行进一步的操作。这在编写WINFORM程序时非常有用,能够提高开发效率。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
如何更改网络适配器设置