zoukankan      html  css  js  c++  java
  • winform 子父窗体的设置,获取其子窗体

    1. 子父窗体的设置  以及判断是否其子窗体,存在子窗体是否Activate显示获取焦点。 呵呵 交流一下  有心得的朋友请探讨给点建议。

    2.    public class FormHelper
          {
              /// <summary>
              /// 设置子窗体
              /// </summary>
              /// <param name="type">类型</param>
              /// <param name="parent">父窗体</param>
              /// <returns></returns>
              public static Form ShowForm(Type type, Form parent)
              {
                  Form retForm;
                  if (!ChildExists(type, parent, true, out retForm))
                  {
                      ConstructorInfo[] cons = type.GetConstructors();
                      if (cons.Length > 0)
                      {
                          Object obj =cons[0].Invoke(null);
                          if (obj is Form)
                          {
                              retForm = obj as Form;
                              retForm.MdiParent = parent;
                              retForm.Show();
                              retForm.Activate();
                          }
                      }
                  }
                  return retForm;
              }
              /// <summary>
              /// 子窗体是否存在
              /// </summary>
              /// <param name="type">类型</param>
              /// <param name="parent">父窗体</param>
              /// <param name="showForm">是否显示</param>
              /// <param name="form">子窗体</param>
              /// <returns></returns>
              public static bool ChildExists(Type type, Form parent, bool showForm, out Form form)
              {
                  for (int i = 0; i < parent.MdiChildren.Length; i++)
                  {
                      Form child = parent.MdiChildren[i];
                      if (child.GetType() == type)
                      {
                          if (showForm)
                          {
                              child.Visible = true;
                              child.Activate();
                          }
                          form = child;
                          return true;
                      }
                  }
                  form = null;
                  return false;
              }
             
          }

    3.  Form f = Application.OpenForms["窗体名称"]; //查找窗体是否打开   存在则返回 窗体对象 否则null

  • 相关阅读:
    基于C语言的高斯曲线拟合原理以及实现【转】
    高斯曲线拟合原理及实现
    软件测试Lab2————用selenium进行自动化测试
    软件测试作业四 —— 课后习题七及扩展
    软件测试作业三—— 上机实验判断三角形的类型
    软件项目管理作业一 —— 描述项目
    软件测试作业二 —— 对于Faults,Errors,Failures的认识的习题
    软件测试作业一 —— 记录我遇到的项目error
    The introduction about my project.
    课程表WPF制作 学习步骤三
  • 原文地址:https://www.cnblogs.com/xiaoshuai/p/1752353.html
Copyright © 2011-2022 走看看