发布
社区首页 >问答首页 >强制转换MdiChildren的问题

强制转换MdiChildren的问题
EN

Stack Overflow用户
提问于 2011-07-25 23:38:43
回答 2查看 92关注 0票数 1

我和MdiChildren在选角上有点问题。

这是可行的:

代码语言:javascript
代码运行次数:0
复制
MyForm mf = (MyForm)this.ActiveMdiChild;

这不起作用:

代码语言:javascript
代码运行次数:0
复制
MyForm[] mfs = (MyForm[])this.MdiChildren;

父窗体中的所有窗体都是MyForm的实例,但我无法成功转换它们。这意味着我不能使用MyForm提供的任何方法,因为它们只是表单对象。我能做些什么来纠正这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-25 23:42:33

MdiChildren属性返回一个Form实例数组,该数组与MyForm实例数组不同(并且不能直接转换为该数组)。

您可以使用LINQ的Cast()方法来执行显式转换:

代码语言:javascript
代码运行次数:0
复制
MyForm[] mfs = this.MdiChildren.Cast<MyForm>().ToArray();
票数 2
EN

Stack Overflow用户

发布于 2011-07-25 23:42:25

下面是你如何做到这一点;

代码语言:javascript
代码运行次数:0
复制
IEnumerable<MyForm> mfs = this.MdiChildren.Cast<MyForm>();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6818617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档