C#winforms将childform转换为自己的类型

时间:2015-03-28 12:44:48

标签: c# winforms

我有MDI项目。我正在使用  Form activeForm = this.ActiveMdiChild;

但是,我不是Form,而是代表:

Forms.Lookup.Grade activeForm = (Forms.Lookup.Grade) this.ActiveMdiChild;
Forms.Lookup.Product activeForm = (Forms.Lookup.Product) this.ActiveMdiChild;

...等

所以,如果Forms.Lookup.Grade处于有效状态,我希望将activeForm作为Forms.Lookup.Grade

返回

如何以通用方式而不是使用Switch this.ActiveMdiChild.Name投射活动表单作为其自己的类型?

谢谢 曼西

1 个答案:

答案 0 :(得分:1)

您可以在运行时检查类型:

Form activeForm = this.ActiveMdiChild;
if(activeForm is Forms.Lookup.Grade) {
  Forms.Lookup.Grade gradeForm = activeForm as Forms.Lookup.Grade;
  gradeForm.SomeMethodOfGrade();
  ....
}