zoukankan      html  css  js  c++  java
  • 关于C# Dockpanel的一些入门的基本操作

    关于C# Dockpanel的一些入门的基本操作

    原文链接:https://blog.csdn.net/Lc1996Jm/article/details/51881064

    一、引用:

    1.建立一个WinForm工程,默认生成了一个WinForm窗体Form1(此处默认为主窗体)。

    2.引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Docking.dll。

    3.设置Form1窗体属性IsMdiContainer:True。

    4.工具箱—>右键—>选择项—>.net组件—>浏览—>weiFenLuo.winFormsUI.Docking.dll—>在工具箱出现dockPanel。

       

    5.将dockPanel拖到窗体主窗体上,设置Dock属性,一般默认设置为:Fill。

    二、设置停靠窗体:

    1.新建一个WinForm窗体。

    2.在代码中修改窗体继承于DockContent。如下:

    using WeifenLuo.WinFormsUI.Docking;
    
    public partial class Form2 : DockContent
    
     

    3.在主窗体中显示停靠窗体。

    在要显示停靠窗体的事件中写入以下代码:

    Private void 事件名(){
    
      Form2 form2 = new Form2();
    
    form2.Show(停靠的父容器,DockState.要停靠的方位);
    
    }

    三、设置窗体浮动:

    1、设置需要浮动的窗体的Dock中的DockAreas属性。

    四、关闭当前容器中的所有窗体

    1、获取到当容器中的所有子窗体的个数:                                              dockPanel1.Contents.Count;

    2、获取容器中的所有对象的数组,并将其转换为

    IDockContent对象:

    IDockContent content =(IDockContent)dockPanel1.Contents[index];

    3、循环关闭:

    for (int index = dockPanel1.Contents.Count;index > 0; index--)
    
    {
    
      if(dockPanel1.Contents[index] isIDockContent)
    
           {
    
            IDockContent content =(IDockContent)dockPanel1.Contents[index];
    
         content.DockHandler.Close();}}

    五、关闭除当前正在活动的子窗体之外得到所有子窗体:

    1、获取当前正在活动的子窗体对象:

    this.ActiveMdiChild;

    2、遍历容器中的子窗体,并判断是否为当前正在活动的窗体,不是则关闭:

    if (this.ActiveMdiChild != null)
    
                { //判断是否有子窗体
    
                   foreach (Form f in this.MdiChildren)
    
                   {//获取子窗体
    
                           if (f != this.ActiveMdiChild) { f.Close(); }//判断是否为当前选定窗口
    
                                       }
    
                }

    六、更改窗体风格:

    1、下载要设置风格的资源库或相关控件。例如: vS2005Theme、vS2003Theme、vS2012LightTheme;

    然后将要更改风格的DockPanel控件的Theme属性设置为相应的控件名。例:

    dockPanel1.Theme = vS2003Theme2;

    如果要更改主窗体的风格,则要下载vS2012ToolStripExtender控件。

    vS2012ToolStripExtender1.SetEnableVS2012Style(要更改的控件, true);

    七、更改窗体的样式:

    1.获取并记录当前样式:

    DocumentStyle oldStyle = dockPanel1.DocumentStyle;//记录旧的样式

    2.定义新样式对象并为其赋值要更改的样式:

    DocumentStyle newStyle=要更改的样式(DocumentStyle.样式);

    3、设置新的样式:

    要更改样式的窗体. DocumentStyle=newStyle;

    八、记录当前窗体布局:

    1.定义一个正在窗体关闭事件:

    private void MainForm_FormClosing(object sender FormClosingEventArgse){

    ..........

    }

    2.在事件在写入记录当前窗体布局的代码,如下:

    configFile =Path.Combine(Path.GetDirectoryName(Application.ExecutablePath),"DockPanel.config");

    dockPanel1.SaveAsXml(configFile);

    3、如果下载打开窗体需要加载上一次的退出时的布局,则在窗体加载事件中写入以下代码:

    configFile =Path.Combine(Path.GetDirectoryName(Application.ExecutablePath),"DockPanel.config");

                if(File.Exists(configFile))

                {

                   dockPanel1.LoadFromXml(configFile, ddc);

                }

    萌橙 你瞅啥?
  • 相关阅读:
    BZOJ 1103 Poi2007 大都市meg
    BZOJ 2815 ZJOI2012 灾难
    【bzoj】1046: [HAOI2007]上升序列
    P1168跳房子(焫鷄如我)
    HAIO2017[打酱油的旅行!?]
    [haoi2013]花卉节
    P1298(矩阵切割)DP
    P1216 (list加强版)
    p1219最佳贸易(两边bfs写的)
    p1150[noip2013普及]表达式求值
  • 原文地址:https://www.cnblogs.com/daimaxuejia/p/11737711.html
Copyright © 2011-2022 走看看