zoukankan      html  css  js  c++  java
  • 窗体类型

    窗体类型分为两大类:单文档窗体界面(SDI)和多文档窗体界面(MDI)

    一,单文档窗体界面:有一个主窗体,其他的窗体都是辅助窗体和对话框,主窗体一旦关掉,整个程序全部结束

    案例1:如何做登录窗体

    1,确定好主窗体,在Program.cs文件中的Main函数中使用Application.Run()启动主窗体——Application.Run(new Main());

    2,做一个登录窗体,在登录验证完成后不要关闭窗体也不要隐藏窗体,只需要给this.DialogResult赋个值即可

    private void button1_Click(object sender, EventArgs e)
    {
    //验证用户名和密码是否正确
    if (textBox1.Text == "aaa" && textBox2.Text == "bbb")
    {
    this.DialogResult = System.Windows.Forms.DialogResult.OK;
    }
    else
    {
    textBox1.Text = "";
    textBox2.Text = "";
    }
    }

    3,在Program.cs的Main函数中,在Application.Run()运行主窗体之前,先启动登录窗体(用ShowDialog的形式启动)

    如果对话框返回确定的标识时,就运行下面的Application.Run();

    Form1 f = new Form1();
    DialogResult result = f.ShowDialog();
    if (result == DialogResult.OK)
    {
    Application.Run(new Main());
    }

    二,多文档窗体界面:一个父窗体里面包含多个子窗体,子窗体无法移动到父窗体外面,父窗体关闭子窗体全部关闭

    如何做一个多文档窗体界面

    1,做一个窗体,设置窗体的属性:IsMdiParent = true(以此作为父窗体)

    2,做一个子窗体,并在窗体的代码中实例化出该窗体

    3,设置子窗体的属性:MdiParent=this  //this代表的是当前的父窗体对象

    4,显示子窗体

    ChildForm f = new ChildForm();
    f.MdiParent = this;

    f.Show();

    父窗体中重要的属性

    IsMdiContainer——是否是父窗体

    MdiChildren——所有的子窗体的集合 ,是一个Form集合的类型

    ActiveMdiChild - 当前正在顶层的子窗体,是一个Form类型

    案例1:使用菜单添加多个子窗体,关闭所有子窗体,关闭当前子窗体。

    1,做一个窗体,从菜单与工具栏内拖一个MenuStrip控件,输入文字

    2,新建子窗体代码

    childform cf=new childform();

    cf.MdiParent=this;

    cf.show();

    3,关闭所有子窗体代码

    foreach (childform cf in this.MdiChildren)
    {
    cf.Close();
    }

    4,关闭当前子窗体代码

    childform cf= this.ActiveMdiChild as childform;
    cf.Close();

    案例2:只生成一个子窗体。如果已经有了一个子窗体的话,就不再添加新的子窗体。

    private void toolStripMenuItem1_Click(object sender, EventArgs e)
    {
    bool ss = false;    //定义一用来控制子窗体的显示个bool型的变量
    foreach (Form f in this.MdiChildren) //遍历当前窗体的所有子窗体
    {
    if (f is childform) //如果其中有childform窗体,则将false赋给ss,跳出循环
    {
    ss = true;
    break;
    }

    }
    if (ss == false) //如果其中没有childform窗体就新建一个childform窗体
    {
    childform z = new childform();
    z.MdiParent = this;
    z.Show();
    }
    }

  • 相关阅读:
    VFIO PF SRIOV IOMMU UIO概念解释、关联
    集群节点间网络通信TIPC
    1. C语言中的数据结构.md
    第三讲. COTS包交换介绍
    SYSTick 定时器
    热电偶基础知识介绍-04
    附录1· 初识Linux操作系统
    热电偶冷端补偿
    珍惜是最宝贵的财富。
    CSS 设置标题文字只显示一行,多余显示省略号
  • 原文地址:https://www.cnblogs.com/William-1234/p/4506258.html
Copyright © 2011-2022 走看看