Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用反射提取控件_C#_.net_Winforms_Reflection - Fatal编程技术网

C# 使用反射提取控件

C# 使用反射提取控件,c#,.net,winforms,reflection,C#,.net,Winforms,Reflection,如果我有一份申请表,比如Form1,它有DataGridView。因此,程序集名称将是Test.exe。通过使用反射,如果我有程序集的物理位置和表单名称的输入Form1,我是否可以提取datagridview?您需要使用assembly.LoadFrom>将程序集加载到AppDomain中,然后创建Form1的实例,通过使用Activator.CreateInstance和Form1的完整限定名。然后,您可以通过在表单实例上调用GetType()来获取Form1的类型信息,枚举所有字段并获取Da

如果我有一份申请表,比如
Form1
,它有
DataGridView
。因此,程序集名称将是
Test.exe
。通过使用反射,如果我有程序集的物理位置和表单名称的输入
Form1
,我是否可以提取
datagridview

您需要使用
assembly.LoadFrom>将程序集加载到AppDomain中,然后创建Form1的实例,通过使用
Activator.CreateInstance
和Form1的完整限定名。然后,您可以通过在表单实例上调用
GetType()
来获取Form1的类型信息,枚举所有字段并获取DataGridView类型的字段。使用Form1的实例和类型信息,您可以获取DataGridView的实例。

那么您想从另一个应用程序中提取
DataGrid
?您能详细说明我的“提取DataGridView”是什么意思吗?Tigran:是的。我需要从其他应用程序中提取DataGrid。chris:我需要获取DataGrid,来自其他应用程序的控件。您无法访问其他进程中的控件,只有在该进程内运行的代码才能执行此操作。代码注入非常重要,请查看“托管间谍”以了解想法。谷歌第一次成功。