zoukankan      html  css  js  c++  java
  • 三种打开窗体

    基础的弹窗:

    Form2 f2  = new Form2();
    f2.Show();

    1、弹窗窗口:

    //实例化需要弹窗的类
    Form2 f2 = new Form2();
    f2.ShowDialog();
    //此弹窗打开子弹窗后父级弹窗不可选中

    2、子窗口:

    //实例化Form2
    Form2 f2 = new Form2();
    //this代表这个类
    //当前窗口的拥有f2
    f2.Owner = this;
    f3.Show();
    //子弹窗默认置顶父级弹窗,对其他弹窗无影响;
    //此弹窗子级弹窗和子级弹窗是平级的,可以互相覆盖;

    3、唯一窗口:

    //判断窗口有没有开启,没开启,开启一个新的,开启了,不做任何操作
    //关闭变为没开启状态
    //在Form1声明一个成员变量;
    public List<From> FromList = =nwe List<Form>();
    //按钮的点击事件:
    //实例化Form2的时候要把form1传给Form2的构造函数;
    Form2 f2 = new Form2(this);
    bool a = false;
    //遍历FromList
    foreach(From x in FromList)
    {
    //判断,From2是否在FromList内,是返回true;
        if(x is From2)
            {
                a = true;
            }
    }
    //如果FromList内有From2...
    if(a)
    {
    }
    //如果没有....
    else
    {
    //把f2放到集合内,由于Form1,Form2等等,和Form都是继承关系,所以...
        FormList.Add(f2);
        f2.Show();
    }
    
    //这里是Form2的类的构造函数:
    //仅供提升作用域;
    Form F1 = null;
    //(From f1)的作用是传值;
    public From2(From f1)
    {
        F1 = f1;
    }
    //在Form2的FormClosing事件中双击:
    F1.FromList.Remove(this);
    
    //打开:简单的说,就是,先定义一个集合,把Form2放到一个集合内,遍历个集合,如果is到了返回true,不作任何操作,is不到返回false,可以打开From2,在把From2扔到集合内;
    //关闭了再打开就是把Form1自己,传给Form2的构造函数,当Form2关闭的时候执行关闭前的事件:把自己从集合内Remove掉;
  • 相关阅读:
    Prism-超轻量的开源框架
    1的数目
    二叉树中和为某一值得路径
    把二叉树打印成多行
    对称的二叉树
    二叉树的下一个节点
    删除链表中重复的结点
    数组中的重复数字
    连表中环入口的节点
    把字符串换成整数
  • 原文地址:https://www.cnblogs.com/yangchuanqi/p/7903120.html
Copyright © 2011-2022 走看看