首页 > 编程语言 > C# Dockpanel入门基础必看篇
2020
12-07

C# Dockpanel入门基础必看篇

一、引用:

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

补充知识:C#使用as关键字将对象转换为指定类型

在C#的编程开发过程中,很多时候涉及到数据类型的转换,可使用强制转换的方式,不过强制转换数据类型有时候会抛出程序异常错误,可以使用as关键字来进行类型的转换,如果转换成功将返回转换后的对象,如果转换不成功则不会抛出异常而是返回NULL。

如将A类型的对象modelA转换为B类型的对象,可使用下列语句操作:

var entityB=modelA as B;

如果entityB不为空,则转换成功,如果entityB的值为空,则转换不成功。

以上这篇C# Dockpanel入门基础必看篇就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。

编程技巧