开源组件DockPanelSuite(WeifenLuo.WinFormsUI.Docking)使用心得一:入门

DockPanelSuite是一款在WinForms上使用的界面组件,提供类似VS的窗口停靠、悬浮及自动隐藏功能,支持XML布局保存与加载。本文详细介绍三种引入DockPanelSuite的方法:源码工程、NuGet安装和直接引用dll,帮助开发者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、DockPanelSuite介绍

DockPanelSuite是托管在GitHub上的一个开源项目,使用在WinForms上,是一个简单、美观的界面组件。其中weiFenLuo.winFormsUI.Docking.dll较为人熟知,它是DockPanel Suite的一个类库,可以实现类似VS的窗口停靠、悬浮、自动隐藏等功能,同时能够保存窗体布局为XML文件,启动时加载XML配置文件还原布局。DockPanelSuite还包含有多种VS主题,能够自由切换变换风格。

DockPanelSuite官网:

http://docs.dockpanelsuite.com/#

GitHub上DockPanelSuite:

https://github.com/dockpanelsuite



二、DockPanelSuite使用入门

方式一:引用DockPanelSuite源码工程

添加工程到解决方案中,能够在调试时跟踪代码到源码中。

(1)打开https://github.com/dockpanelsuite/dockpanelsuite,点击Download ZIP,下载压缩包,下载后解压,里面有源码工程。

(2)新建一个测试用Winforms项目,右键解决方案,添加现有项目,浏览刚才下载的文件夹,找到WinFormsUI文件下的工程,除multithreaading以外添加进来

(3)右键项目,添加引用,选择刚才添加的所有项目,确定。

(4)点击Form1,工具箱,可以看到工具箱里多出了WinFormsUI组件和主题组件,如果没有,关闭Form1,右键工程重新生成,再打开Form1。

(5)一定要先设置Form1的IsMdiContainer属性为True,

再放置一个dockPanel控件和Vs2015BlueTheme到Form1上,设置dockPanel1的Dock为Fill,Theme为vS2015BlueTheme1

(6)工程添加一个新的windows窗体Form2,更改Form2 : Form 继承为 Form2 : DockContent

(7)  在Form1的构造函数里添加测试代码如下

  public Form1()
        {
            InitializeComponent();
            //测试代码
            var f2 = new Form2() { TabText = "Document" };
            f2.Show(this.dockPanel1, DockState.Document);
            f2 = new Form2() { TabText = "DockLeft" }; ;
            f2.Show(this.dockPanel1, DockState.DockLeft);
            f2 = new Form2() { TabText = "DockRight" }; ;
            f2.Show(this.dockPanel1, DockState.DockRight);
            f2 = new Form2() { TabText = "DockBottom" }; ;
            f2.Show(this.dockPanel1, DockState.DockBottom);
            f2 = new Form2() { TabText = "DockLeftAutoHide" }; ;
            f2.Show(this.dockPanel1, DockState.DockLeftAutoHide);
            f2 = new Form2() { TabText = "Float" }; ;
            f2.Show(this.dockPanel1, DockState.Float);
        }

(8)运行,顺利的话能看到界面如下,说明DockPanelSuite已能够正常使用,拖动窗口实现停靠或悬浮。

 

方式二:VS2017通过NuGet安装

(1)在VS2017下,新建Winforms项目,右键项目,管理NuGet程序包

(3)搜索并安装DockPanelSuite以及需要的主题包,(4)之后的测试和使用同上

方式三:直接引用dll

(1)直接下载动态库,右键项目,添加引用,浏览找到相关dll添加,测试和使用同上

三、资源下载

官方源码和测试例子

如果已经通过`git rebase -i`将上步合并的记录视为单步骤,并且现在想要将其拆分成两个独立的提交,需要重新组织`git rebase -i`中的编辑模式。以下是操作流程: 1. **查看当前状态**:首先确定你在哪个rebase阶段,以及合并后的提交ID。可以用`git status`和`git log`检查。 2. **打开交互式rebase**: ```bash git rebase -merge>` 是在合并之前的个提交,比如`HEAD~2`,它会让你看到个包含所有待处理提交的列表。 3. **编辑rebase-i文件**: 编辑器打开后,你会看到类似这样的内容: ``` pick <commit1> pick <commit2> (was squash of <commit3> and <commit4>) ``` `commit2` 是你合并了的那次提交。将 `pick` 改为其他选项,如 `reset` 或 `edit`,表示将这个提交还原成未合并的状态。 - 如果选择 `reset`,Git 会回退到该提交,并保持其父提交不变。 - 如果选择 `edit`,则允许你直接编辑这次合并的改动,然后再提交。 4. **处理合并提交**: 根据你的需求,可以选择个操作。比如,如果你想拆分,那么将 `pick <commit2>` 更改为两行,每行对应个新提交,分别为: ``` pick <commit3> pick <commit4> ``` 其中 `<commit3>` 和 `<commit4>` 分别是你原来要合并的两个提交的ID。 5. **保存并退出编辑器**: 保存并关闭编辑器。Git 会根据你的编辑重新安排提交顺序。 6. **确认和提交**: 按照提示进行下步操作,可能是`continue`、`skip`等,最后再次提交新创建的两个独立提交。 7. **清除临时合并提交**: 如果不需要保留临时合并提交的记录,可以使用 `git reset HEAD~1` 来回退步,这样原始的`<commit2>` 就消失了。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哀歌与世无争

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值