精华内容
下载资源
问答
  • 主要介绍了C#实现更改MDI窗体背景颜色的方法,涉及C#窗体背景色的设置技巧,非常简单实用,需要的朋友可以参考下
  • VB 禁止调整MDI窗体大小,窗体文件一共是2个,一个是主窗口文件,一个是MDI窗口文件,实现禁止改变窗口大小的功能,我们可以在MDIForm中当窗体加载时,,执行以下代码:  Private Sub MDIForm_Load()  Style = ...
  • C# MDI窗体设置

    2021-04-13 11:19:32
    在 Windows 窗体应用程序中,经常会在一个窗体中打开另一个窗体, 通过窗体上的不同菜单选择不同的操作,这种在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的... //MDI窗体指的是多文档窗体 private void

    在 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();
            }      
    
    

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

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 设置MDI窗体

    2011-09-25 14:01:19
    using System.Windows.Forms; private void SetMdiParent(Form frame) {  frame.MdiParent = this; // 设置窗体的当前多文档界面 (MDI) 父窗体。  frame
    using System.Windows.Forms; 
    

    private void SetMdiParent(Form frame)
    {
        frame.MdiParent = this;    // 设置此窗体的当前多文档界面 (MDI) 父窗体。
        frame.ControlBox = false; // 隐藏该窗体的标题栏中的控件框。
        frame.FormBorderStyle = FormBorderStyle.None; // 窗体无边框。
        frame.WindowState = FormWindowState.Maximized; // 窗体最大化。
        frame.Text = null;
        frame.Show();
    }

    展开全文
  • C#开发时,在MDI窗体上直接放置控件后,默认情况下,其中的子窗体会在控件后方显示。这个源码本人多个程序中都有使用到,可以在MDI窗体上放置控件。 其他语言开发通过分析代码,亦有借鉴价值。
  • vb如何设置父窗体与子窗体——MDI窗体

    千次阅读 热门讨论 2020-06-02 11:01:02
    想要达到这样的效果,首先要新建一个父窗体(MDI窗体)。 MDI窗体上又不允许放置PictureBox以外的控件,但是Picture上面就能放置控件,所有只要先在窗体上铺上一张图片,在把控件放置在图片上就可以。 运行时会发现...

    目前我理解的父窗体与子窗体的关系是:父窗体包含子窗体。
    在这里插入图片描述
    想要达到这样的效果,首先要新建一个父窗体(MDI窗体)。
    MDI窗体上又不允许放置PictureBox以外的控件,但是Picture上面就能放置控件,所有只要先在窗体上铺上一张图片,在把控件放置在图片上就可以。
    运行时会发现提示“只允许存在一个MDI窗体”,这种错误我翻阅了前辈的博客,发现是sub Main里的一句代码导致的。

    Sub Main()
        Dim flogin As New frmlogin
        flogin.Show vbModal          'flogin显示模式窗口'
        
        If Not flogin.ok Then
            End
        End If
        flogin.Hide
        '将下面这两句屏蔽即可,然后再添加一句MDIFrmmain.Show'   
        Set fmain = New MDIFrmmain
        fmain.Show                  '显示主窗体'
    End Sub
    

    运行程序后又会发现子窗体都隐藏在了图片下面,此时可以用API函数来解决这个问题:

    第一步:

    外接程序——外接程序管理器

    第二步:

    找到API函数,选择“在启动中加载”与“加载/卸载”

    第三步:

    选中系统的模块Module1——外接程序——API浏览器——加载文本文件——WIN32API.TXT——打开

    第四步:

    搜索SetParent——添加——插入

    第五步:

    可以看到Module1中出现了这句代码:Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

    这句代码要放在模块里

    第六步:

    此时在MDI窗体里在对应的子窗体中写如下代码:运行一下,就会惊喜的发现成功了!

    Private Sub Return_card_Click()
        SetParent frmReturn_card.hwnd, MDIFrmmain.hwnd
        frmReturn_card.Show
    End Sub
    
    '或者'
    
    Private Sub Check_balance_Click()
        Call SetParent(frmCheck_balance.hwnd, MDIFrmmain.hwnd)
        frmCheck_balance.Show
    End Sub
    
    展开全文
  • C#创建MDI窗体实例

    2016-02-28 17:08:18
    MDI窗体的创建,窗体的排列,不通子窗体之间的切换
  • MDI窗体控制,禁止调整大小,禁用最大化及最小化按钮。
  • WinForm——MDI窗体

    千次阅读 2020-04-20 13:36:07
    MDI窗体由一个父窗体和若干个子窗体组成。MDI窗体允许同时显示多个窗体,他常包括含有子菜单的“窗口”菜单项,该菜单项用于在窗口之间进行切换。 MDI 窗体的设置并不复杂,只需要将窗体的属性 IsMdiContainer 设置...

    MDI窗体由一个父窗体和若干个子窗体组成。MDI窗体允许同时显示多个窗体,他常包括含有子菜单的“窗口”菜单项,该菜单项用于在窗口之间进行切换。

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

    该属性既可以在 Windows 窗体的属性窗口中设置,也可以通过代码设置,这里在窗体加载事件 Load 中设置窗体为 MDI 窗体,代码如下。

    this.IsMdiContainer = True;

    此外,还可以在窗体类的构造方法中加入上面的代码。
    在设置 MDI 窗体以后,窗体的运行效果如下图所示。

      子窗体在父窗体中排列的方式可以使用带有Mdilayout枚举LayoutMdi枚举成员

    枚举

    说明

    ArrangeIcons

    所有 MDI 子图标均排列在 MDI 父窗体的工作区内。

    Cascade

    所有 MDI 子窗口均层叠在 MDI 父窗体的工作区内。

    TileHorizontal

    所有 MDI 子窗口均水平平铺在 MDI 父窗体的工作区内。

    TileVertical

    所有 MDI 子窗口均垂直平铺在 MDI 父窗体的工作区内。

     

    Cascade排列:

    TileHorizontal排列:

    TileVertical排列:

    代码:

      public partial class Form1 : Form

        {

            private static int FormCount = 1;

            //定义此常量是为了统计MDI窗体数目,

            MainMenu mnuMain = new MainMenu();

            MenuItem FileMenu;

            MenuItem NewMenu;

            MenuItem ExitMenu;

            MenuItem WindowMenu;

            public Form1()

            {

                InitializeComponent();

                this.IsMdiContainer = true;

                this.Text = "MDI演示程序";

                FileMenu = new MenuItem();

                FileMenu.Text = "文件";

                WindowMenu = new MenuItem();

                WindowMenu.Text = "窗口(&W)";

                WindowMenu.MenuItems.Add("窗体层叠(&C)", new EventHandler(Cascade_Click));

                WindowMenu.MenuItems.Add("水平平铺(&H)", new EventHandler(TileH_Click));

                WindowMenu.MenuItems.Add("垂直平铺(&V)", new EventHandler(TileV_Click));

                WindowMenu.MdiList = true;

                //这一句比较重要,有了这一句就可以实现在新建一个MDI窗体后会在此主菜单项下显示存在的MDI窗体菜单项

                NewMenu = new MenuItem();

                NewMenu.Text = "新建窗体(&N)";

                NewMenu.Click += new EventHandler(New_Click);

                ExitMenu = new MenuItem();

             

                FileMenu.MenuItems.Add(NewMenu);

                FileMenu.MenuItems.Add(new MenuItem("-"));

                FileMenu.MenuItems.Add(ExitMenu);

                mnuMain.MenuItems.Add(FileMenu);

                mnuMain.MenuItems.Add(WindowMenu);

                this.Menu = mnuMain;

            }

            private void Cascade_Click(object sender, EventArgs e)

            //实现对主窗体中的MDI窗体的层叠操作

            {

                this.LayoutMdi(MdiLayout.Cascade);

            }

            private void TileH_Click(object sender, EventArgs e)

            //实现对主窗体中的MDI窗体的水平平铺操作

            {

                this.LayoutMdi(MdiLayout.TileHorizontal);

            }

            private void TileV_Click(object sender, EventArgs e)

            //实现对主窗体中的MDI窗体的垂直平铺操作

            {

                this.LayoutMdi(MdiLayout.TileVertical);

            }

            private void New_Click(object sender, EventArgs e)

            {

                Form frmTemp = new Form();

                //新建一个窗体

                frmTemp.MdiParent = this;

                //定义此窗体的父窗体,从而此窗体成为一个MDI窗体

                frmTemp.Text = "窗体0" + FormCount.ToString();

                //设定MDI窗体的标题

                FormCount++;

                frmTemp.Show();

                //把此MDI窗体显示出来

            }

            private void Form1_Load(object sender, EventArgs e)

            {

                int deskWidth = Screen.PrimaryScreen.WorkingArea.Width;

                int deskHeight = Screen.PrimaryScreen.WorkingArea.Height;

                this.Width = Convert.ToInt32(deskWidth * 0.8);

                this.Height = Convert.ToInt32(deskHeight * 0.8);

            }  

            private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)

            {

                Form frmTemp = new Form();

                //新建一个窗体

                frmTemp.MdiParent = this;

                //定义此窗体的父窗体,从而此窗体成为一个MDI窗体

                frmTemp.Text = "窗体0" + FormCount.ToString();

                //设定MDI窗体的标题

                FormCount++;

                frmTemp.Show();

                //把此MDI窗体显示出来

            }

        }

    展开全文
  • #1 DOCK属性的的顺序,本文以FILL为例 如果DOCK属性设置时的语句放置在设置父窗体之前,则最终无法正确显示。 private void MainForm_Load(object sender, EventArgs e) ... //设置主窗体为MDI窗体 ...
  • C# MDI窗体

    千次阅读 2019-06-12 16:55:34
    MDI (Multiple Document Interface...在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的方式实现。 MDI 窗体设置并不复杂,只需要将窗体的属性 IsMdiContainer 设置为 True 即可。 在窗体加载事件 Loa...
  • 设置MDI窗体设置MDI背景

    千次阅读 2013-01-10 11:14:26
    1、设置窗体的IsMdiContainer = true; 2、代码: frmtest childForm = new frmtest(); childForm.MdiParent = this; childForm.WindowState = FormWindowState.Maximized;
  •  //设置窗体的MdiParent为当前窗体  f1.MdiParent = this;  f2.MdiParent = this;  //显示窗体  f1.Show();  f2.Show();  }  } } WTM社保,连个具体过程都没给,鬼知道怎么...
  • WPF MDI窗体实现

    2018-01-22 16:21:00
    WPF 模拟 Winform 中的MDI窗体的实现方式。亲测通过!
  • 主要介绍了C#设置MDI窗体只能弹出一个的方法,很实用的技巧,需要的朋友可以参考下
  • Java如何制作MDI窗体

    2021-03-15 18:03:09
    import javax.swing.*;import java.awt.event.*;import java.awt.*;class JInternalFrame1 extends JFrame implements ActionListener{JDesktopPane desktopPane;int count = 1;public JInternalFrame1() {super("JI...
  • MDI窗体

    2018-12-10 20:25:15
    MDI窗体中,起到容器作用的窗体称为“父窗体”,如果要将某个窗体设置为父窗体,只要在窗体的属性面板中将IsMdiContainer属性设置为true即可。  2.设置子窗体;mdiParent方法。 三:排列MDI子窗体  ...
  • MDI窗体可以避免打开窗体的时候被无数个子窗体困扰,我将为大家一一的介绍一下vb.net中MDI窗体的操作方法 一、如何vb.net教程 创建MDI窗体? 1、创建mdi主窗体 新建建立一个默认空白的Windows应用c#教程程序,在Form...
  • 内容索引:VB源码,界面编程,MDI,菜单 MDI窗体菜单示例,基于VB源代码
  • 由于实际需要做一个MDI窗体,百度里面找到一个不错的源代码给大家分享一下。import javax。swing。*; import java。awt。event。*; import java。awt。*;class JInternalFrame1 extends JFrame implements ...
  • vb禁用MDI窗体最大化按钮,该代码可以实现禁止使用多文档窗体的最大化按钮效果,以免窗体错位
  • 父容器下显示多个子窗体
  • 使用MDI窗体实现多窗口效果

    千次阅读 2018-08-09 12:02:52
    C#MDI窗体实现多窗口效果  Visual C#是微软公司推出的下一代主流程序开发语言,他也是一种功能十分强大的程 序设计语言,正在受到越来越多的编程人员的喜欢。在Visual C#中,提供了为实现MDI程序设计的很多功能。...
  • C# 中的MDI 窗体

    千次阅读 2017-07-31 21:00:13
    SDI 窗体 (Single - document - interface) 正常创建出来的窗体 MDI 窗体 (multiple - document - interface 多文档界面),...MDI窗体的使用方法 确定一个副窗体,把窗体的IsMdiContainer属性设置为true。 创建
  • MDI 窗体

    2019-09-28 03:24:42
    //mdi 父集是form1 f2.Parent = panel1;// 父集是form1 里的 panel1 f2.Show(); } } private void 仓库模块ToolStripMenuItem_Click(object sender, EventArgs e) { bool has = false; Form f3 = new Form...
  • 最近在做项目的时候,发现MDI窗体的主菜单的左边,当子窗体最大化的时候,显示了子窗体的图标ICON。
  • 一个包含菜单、MDI窗体背景等8个子类控件演示,VB的演示代码,控件名称:Subclass.ocx。
  • Delphi给MDI窗体加背景..rar

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,435
精华内容 3,374
关键字:

如何设置mdi窗体