2016 - 2024

感恩一路有你

通过控件名返回控件对象、反射

浏览量: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程序时非常有用,能够提高开发效率。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。