积极答复者
怎样遍历项目中的Form并返回对应的Form?

问题
答案
-
如果要反射所有窗体类型,可以遍历这个数组
Dim form_types as Type() = System.Reflection.Assembly.GetExecutingAssembly().GetTypes().Where(Function(t) t.IsSubclassOf(GetType(Form))).ToArray()
不过这是反射所有类型的,是你要的么?创建的话,用Activator.CreateInstance(类型)可以创建实例。
2011 c# mvp China. *George读起来像不像“饺子”?我爱吃饺子,我叫George。- 已建议为答案 Mike FengModerator 2011年12月27日 14:08
- 已标记为答案 Mike FengModerator 2012年1月3日 13:10
-
项目中包含若干个Form,需要根据Form 的Name,遍历所有的Form后并返回匹配的Form,请问该怎样实现呢?
考虑过用for each xx in xxx.collection,但是不知道哪个Collection包含项目中的所有Form,试用过项目的名称,也没有成功。
谢谢各位的赐教!
除了George的方法外,你也可以试试这个属性: http://msdn.microsoft.com/zh-cn/library/system.windows.forms.application.openforms(v=VS.100).aspx
先看看效果,然后回来说行不行,如果不行的话,那就只能George的万能的方法了...
Mike Feng
MSDN Community Support | Feedback to us
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已标记为答案 Mike FengModerator 2012年1月3日 13:10
全部回复
-
项目中包含若干个Form,需要根据Form 的Name,遍历所有的Form后并返回匹配的Form,请问该怎样实现呢?
考虑过用for each xx in xxx.collection,但是不知道哪个Collection包含项目中的所有Form,试用过项目的名称,也没有成功。
谢谢各位的赐教!
你可以考虑使用System.IO类中的Directory.GetAllFiles,获取全部后缀是cs并且包含“Form”字符串的窗体即可。比如:var result = Directory.GetFiles("你的绝对或者相对路径", "*.cs", SearchOption.AllDirectories);
foreach (var item in result)
{
//处理result(包含完整路径和文件名.扩展名)
}QQ我:
下载MSDN桌面工具(Vista,Win7)
我的博客园
慈善点击,点击此处 -
如果要反射所有窗体类型,可以遍历这个数组
Dim form_types as Type() = System.Reflection.Assembly.GetExecutingAssembly().GetTypes().Where(Function(t) t.IsSubclassOf(GetType(Form))).ToArray()
不过这是反射所有类型的,是你要的么?创建的话,用Activator.CreateInstance(类型)可以创建实例。
2011 c# mvp China. *George读起来像不像“饺子”?我爱吃饺子,我叫George。- 已建议为答案 Mike FengModerator 2011年12月27日 14:08
- 已标记为答案 Mike FengModerator 2012年1月3日 13:10
-
项目中包含若干个Form,需要根据Form 的Name,遍历所有的Form后并返回匹配的Form,请问该怎样实现呢?
考虑过用for each xx in xxx.collection,但是不知道哪个Collection包含项目中的所有Form,试用过项目的名称,也没有成功。
谢谢各位的赐教!
除了George的方法外,你也可以试试这个属性: http://msdn.microsoft.com/zh-cn/library/system.windows.forms.application.openforms(v=VS.100).aspx
先看看效果,然后回来说行不行,如果不行的话,那就只能George的万能的方法了...
Mike Feng
MSDN Community Support | Feedback to us
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已标记为答案 Mike FengModerator 2012年1月3日 13:10