精华内容
下载资源
问答
  • 最近在做项目的时候,发现MDI父窗体的主菜单的左边,当子窗体最大化的时候,显示了子窗体的图标ICON。
  • C#开发时,在MDI窗体上直接放置控件后,默认情况下,其中的子窗体会在控件后方显示。这个源码本人多个程序中都有使用到,可以在MDI窗体上放置控件。 其他语言开发通过分析代码,亦有借鉴价值。
  • c# mdi多窗体实现

    2014-10-23 08:19:23
    c# 实现mdi多窗体 主要代码: 屏蔽最大最小化 和 窗体icon 处理 菜单项的ItemAdded
  • C# MDI窗体

    千次阅读 2019-06-12 16:55:34
    MDI (Multiple Document Interface) 窗体被称为多文档窗体,它是很多 Windows 应用程序中常用的界面设计。 在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的方式实现。 MDI 窗体的设置并不复杂,只需要...

             MDI (Multiple Document Interface) 窗体被称为多文档窗体,它是很多 Windows 应用程序中常用的界面设计。

    在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的方式实现。

            MDI 窗体的设置并不复杂,只需要将窗体的属性 IsMdiContainer 设置为 True 即可。

             在窗体加载事件 Load 中设置窗体为 MDI 窗体,代码如下。

    this.IsMdiContainer = True;

            在 MDI 窗体中,弹出窗体的代码与直接弹出窗体有些不同,

    在使用 Show 方法显示窗体前需要使用窗体的 MdiParent 设置显示当前窗体的父窗体,实现的代码如下:

    Test t = new Test();
    t.MdiParent = this;  //this:当前窗体
    t.Show();

                

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WindowsForm
    {
        public partial class MDI : Form
        {
            public MDI()
            {
                InitializeComponent();
                //MDI窗体的设置:将窗体的属性IsMdiContainer设置为True
                this.IsMdiContainer = true;
            }
    
            //打开文件菜单项的单击事件
            private void 打开文件ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                //MDI弹出窗体:需要使用窗体的MdiParent设置当前窗体的父窗体
                OpenFile file = new OpenFile();
                file.MdiParent = this;
                file.Show();          
            }
    
            //保存文件菜单项单击事件
            private void 保存文件ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                SaveFile save = new SaveFile();
                save.MdiParent = this;
                save.Show();
            }
        }
    }
    

                                                  

    展开全文
  • C#mdi 建立多窗口

    2020-09-22 15:09:19
    最近刚学习 c# 找里很多资料 ,有的很不全 运行的时候 就会报错咯。 看咯很多代码。。 很多没有注释 对于新手 是无法下手呀 这是弄号的 线看下效果。 哈哈很多没有上图看的糊涂, 弄号 下面是全部代码 。可以直接...

    最近刚学习 c#
    找里很多资料 ,有的很不全 运行的时候 就会报错咯。
    看咯很多代码。。
    很多没有注释 对于新手 是无法下手呀

    这是弄号的 线看下效果。
    哈哈很多没有上图看的糊涂,
    弄号在这里插入图片描述
    下面是全部代码 。可以直接复制到主程序上面
    在这里插入图片描述

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace WindowsFormsMDI
    {
        public partial class Form1 : Form
        {
            int FormCount = 1;
            MenuItem WindowMenu;
            public Form1()
            {
                InitializeComponent();
                this.IsMdiContainer = true; //设置该界面为 MDI 窗体
                this.Text = "MDI演示程序";
                this.Text = "MDI演示程序";
               
                WindowMenu = new MenuItem();
                WindowMenu.Text = "窗(&W)";
               
                WindowMenu.MdiList = true;
                //这一句比较重要,有了这一句就可以实现在新建一个MDI窗体后会在此主菜单项下显示存在的MDI窗体菜单项
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                
                Form frmTemp = new Form();
                //新建一个窗体
                frmTemp.MdiParent = this;
                //定义此窗体的父窗体,从而此窗体成为一个MDI窗体
               
                frmTemp.WindowState = FormWindowState.Maximized; //窗体最大化
                                                                
                frmTemp.FormBorderStyle = FormBorderStyle.None; //去掉边框
                frmTemp.Text = "窗体2" + FormCount.ToString();
                //设定MDI窗体的标题
                FormCount++;
                frmTemp.Show();
                //把此MDI窗体显示出来
    
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                this.Close();//关闭窗体
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
    
            private void aToolStripMenuItem_Click(object sender, EventArgs e)
            {
                Form frmTemp = new Form();
                //新建一个窗体
                frmTemp.MdiParent = this;
                //定义此窗体的父窗体,从而此窗体成为一个MDI窗体
                frmTemp.Text = "窗体2";
                //设定MDI窗体的标题
    
                frmTemp.Show();
                //把此MDI窗体显示出来
            }
    
            private void bToolStripMenuItem_Click(object sender, EventArgs e)
            {
                Form frmTemp = new Form();
                //新建一个窗体
                frmTemp.MdiParent = this;
                //定义此窗体的父窗体,从而此窗体成为一个MDI窗体
                frmTemp.Text = "窗体0" ;
                //设定MDI窗体的标题
                
                frmTemp.Show();
                //把此MDI窗体显示出来
    
            }
    
            private void 平铺ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                this.LayoutMdi(MdiLayout.TileHorizontal);//要在主窗体实现MDI窗体水平平铺
    
                //this.LayoutMdi(MdiLayout.Cascade);//实现对主窗体中的MDI窗体的层叠操作
               // this.LayoutMdi(MdiLayout.TileVertical);//实现对主窗体中的MDI窗体的垂直平铺操作
            }
        }
    }
    
    

    代码写咯2个地方做实验 效果,
    下图是 左下角的 新建窗口 按钮的 最大化效果
    在这里插入图片描述
    下面的上面菜单的 的效果
    点击菜单 会建一个
    下面的新建窗口又会建一个,
    在这里插入图片描述
    上面建好几个窗口 ,可以选择“窗口”菜单 下面的 ”平铺“
    就会有下面的效果咯。
    还有几个平铺效果已经在代码里面 可以删咯前面的”//“就可以咯

            //this.LayoutMdi(MdiLayout.Cascade);//实现对主窗体中的MDI窗体的层叠操作
           // this.LayoutMdi(MdiLayout.TileVertical);//实现对主窗体中的MDI窗体的垂直平铺操作
    

    在这里插入图片描述
    大家一起学习,
    其实我是想 切换固定的页面的,还在研究当中,
    这种建的窗口是 在IDE 里面 没办法编辑的,
    我是想把下面的Form2 窗口放到里面 这样多页面切换的。
    在这里插入图片描述

    展开全文
  • C# MDI多窗体记事本

    2020-07-14 16:34:07
    实现了Windows记事本的大部分功能,可修改字体大小粗细及颜色,选择文字对齐方式,字数统计等
  • C# MDI导航子窗体 子窗体只运行一次

    热门讨论 2010-07-28 22:55:58
    2、可以使子窗口只运行一次,即C# MDI子窗体只有一个实例。 3、可以定位到某个子窗口,并调用其函数。 这是个简单的例子,不过却是打好了一个框架。 子窗口置底函数是...同一类型的子窗口只打开一个...调用示例....
  • 主要介绍了C#实现更改MDI窗体背景颜色的方法,涉及C#窗体背景色的设置技巧,非常简单实用,需要的朋友可以参考下
  • C# MDI窗体的设置

    2021-04-13 11:19:32
    在 Windows 窗体应用程序中,经常会在一个窗体中打开另一个窗体, 通过窗体上的不同菜单选择不同的操作,这种在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的方式实现。 MDI (Multiple Document Interface...

    在 Windows 窗体应用程序中,经常会在一个窗体中打开另一个窗体, 通过窗体上的不同菜单选择不同的操作,这种在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的方式实现。

    MDI (Multiple Document Interface) 窗体被称为多文档窗体,它是很多 Windows 应用程序中常用的界面设计。

    MDI 窗体的设置并不复杂,只需要将窗体的属性 IsMdiContainer 设置为 True 即可。

               //MDI窗体指的是多文档窗体
    
    private void 保存数据ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                //MDI窗体指的是多文档窗体
                //本实验中Form1是父窗体  form2是子窗体
                //首先将Form1的IsMDIContainer属性改为true,则该窗体为父窗体
                //为便于显示子窗体  最好将父窗体的WindowState属性改为Maxmized
                Form2 f2 = new Form2();
                f2.MdiParent = this;//设置Form2的父窗体是Form1
                AddTabFormPage(tcpage,f2);//将f2子窗体嵌入到 form1 主窗体的 tabcontrol选项卡中           
            }
      public void AddTabFormPage(TabControl tab, Form form)
            {
                form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
                form.TopLevel = false;//设置子窗体是非顶级窗体
                form.Dock = DockStyle.Fill;//填满页面
                form.WindowState = FormWindowState.Maximized;//最大化
                TabPage page = new TabPage();//实例化tabcontrol选项卡
                page.Controls.Add(form);//在tabcontrol选项卡中  添加 子窗体
                page.Name = form.Name;
                page.Text = form.Text;
                page.Width = form.Width;
                page.Height = form.Height;
                tab.TabPages.Add(page);
                form.Show();
            }      
    
    

    以下是主窗体子窗体以及效果
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • C#MDI多窗体及选项卡程序,对Winform程序的学习C#MDI多窗体及选项卡程序,对Winform程序的学习
  • 在做winform程序的时候,需要用到MDI窗体,在网上看了一些避免子窗体重复打开的问题。 现在我有一个MDI窗体formfather以及两个子窗体form1和form2。 在父窗体上弄两个按钮,点击按钮1的时候显示form1,点击按钮2的...

    在做winform程序的时候,需要用到MDI窗体,在网上看了一些避免子窗体重复打开的问题。

    现在我有一个MDI窗体formfather以及两个子窗体form1和form2。
    在父窗体上弄两个按钮,点击按钮1的时候显示form1,点击按钮2的时候显示form2,再一次点击的时候显示form1,而不是一个新的form1。
    下面是我的代码

    private void toolStripButton1_Click(object sender, EventArgs e)
            {
    			Form1 f1 = new Form1();
                bool isOpened = false;//定义子窗体打开标记,默认值为false
                foreach (Form f in this.MdiChildren)//循环MDI中的所有子窗体
                {
                     if (f1.Name == f.Name)//若该子窗体已被打开
                     {
                          f.Activate();//激活该窗体
                          isOpened = true;//设置子窗体的打开标记为true
                          f1.Dispose();//销毁formChild实例
                          break;
                     }
                }
                if (!isOpened)//若该子窗体未打开,则显示该子窗体
                {
                    f1.MdiParent = this;
                    f1.FormBorderStyle = FormBorderStyle.None;//设置子窗体无边框
                    f1.Dock = DockStyle.Fill;//设置子窗体填满MDI窗体
                    f1.Show();
          }
    
    private void toolStripButton2_Click(object sender, EventArgs e)
            {
                Form2 df = new Form2 ();
               
                bool isOpened = false;//定义子窗体打开标记,默认值为false
                foreach (Form f in this.MdiChildren)//循环MDI中的所有子窗体
                {
                    if (df.Name == f.Name)//若该子窗体已被打开
                    {
                        f.Activate();//激活该窗体
                        isOpened = true;//设置子窗体的打开标记为true
                        df.Dispose();//销毁formChild实例
                        break;
                    }
                }
                if (!isOpened)//若该子窗体未打开,则显示该子窗体
                {
                    df.MdiParent = this;
                    df.FormBorderStyle = FormBorderStyle.None;
                    df.Dock = DockStyle.Fill;
                    df.Show();
                }
            }
    

    看别人的代码在代码块写激活窗体时用的是f1.Activate,这样是无法成功再次激活得窗体的,后来想了下,可能因为f1是new的窗体,而我们要打开的应该是已经是已经存在的f1窗体,即是我们foreach到的f窗体才是。

    自己的想法,不知道对不对,记录在此供自己以后查看,也希望大家指正

    展开全文
  • C#MDI窗体编程

    2012-05-06 15:34:56
    多文档界面(MDI)应用程序。MDI允许创建在单个容器窗体中包含多个窗体的应用程序,它一般包括三个部分。
  • 摘要:C#源码,菜单窗体,多窗口,MDI 一个C#多窗口应用程序窗口,演示 MDI form多窗口模式的实现原理,代码完整,有VS环境的自己重新编译生成下,特别适合C#基础入门者。 运行环境:Visual Studio2010
  • C#创建MDI窗体实例

    2016-02-28 17:08:18
    MDI窗体的创建,窗体的排列,不通子窗体之间的切换
  • C# MDI 记事本实例

    2010-02-18 18:52:01
    C# MDI 记事本实例,实现了记事本的所有功能,是学习MDI的很好源码,也是学习父窗体和子窗体通信的很好教程
  • if (e.CloseReason == CloseReason.MdiFormClosing)//判断点击的是父窗体还是子窗体 { } else if (e.CloseReason == CloseReason.UserClosing) { e.Cancel = true; MessageBox.Show(“无法进行关闭”); } ...
  • C# MDI子窗体互相操作

    2016-07-30 10:30:00
    1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text;... 8 using ...
  • C#MDI窗体实现多窗口效果

    千次阅读 2015-03-18 16:06:49
    C#MDI窗体实现多窗口效果  Visual C#是微软公司推出的下一代主流程序开发语言,他也是一种功能十分强大的程 序设计语言,正在受到越来越多的编程人员的喜欢。在Visual C#中,提供了为实现MDI程序设计的很多功能。...
  • MDI编程中,从父窗体调用了子窗体,会出现子窗体隶属父窗体。但当我们要从一子窗体调用另一个子窗体,并且,调用过后,这个被子窗体调用出来的子窗体,会出现隶属于父窗体的情况是什么实现的呢? 下面是针对这种...
  • C#MDI记事本,多窗口

    2009-12-08 10:46:58
    C#写的记事本,可以实现多窗口,大家可以参考一下
  • C# MDI 示例 新手

    2014-09-02 09:23:32
    C# MDI 示例 新手
  • C#MDI窗口编程实例

    热门讨论 2010-06-20 14:22:10
    为自己编写的实例,源代码需用VisualStudio2008甚至更高版本才能打开。...主要讲解MDI、多文档界面、MDILayout枚举这三方面的内容,对于初学喆起到一定的帮助希望,对于虾米级人物,,呵呵,献丑了。
  • C#MDI记事本

    2008-05-31 18:17:52
    C#2.0编写的多文档界面的文档编辑器,可以编辑普通文本文件,也可以编辑RTF格式的文档.
  • C#mdi程序窗体背景

    2009-02-01 16:14:02
    C#mdi程序窗体背景,一般mdi窗体没有背景图片,这里给出mdi窗体中父窗体背景的实现
  • MDI窗体第一个父窗体 把属性里的IsMdiContainer设置为true就可以了 父窗体连接子窗体 //创建一个新的类,用来连接别的窗体,并且别的窗体为唯一窗体 List<Form> F = new List<Form>(); private ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,544
精华内容 1,417
关键字:

c#mdi

c# 订阅
友情链接: STM32-examples.zip