[C#]模拟实现Visual Stduio工具栏动态效果--扩展控件DocKPanel

[C#]模拟实现Visual Stduio工具栏动态效果--扩展控件DocKPanel

weiFenLuo.winFormsUI.Docking.dll是开源项目DockPanel Suite的一个类库,可以实现像Visual Studio的窗口停靠、拖拽等功能。

官方下载地址:http://sourceforge.net/projects/dockpanelsuite/

具体操作可参考以下:

1.建立一个WinForm工程,默认生成了一个WinForm窗体Form1。


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


3.窗体属性IsMdiContainer:True。


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


5.将dockPanel拖到窗体Form1上,设置Dock属性,我设置的是:Fill。

停靠窗体:

1.新建一个WinForm窗体Form2。


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

注:关键一步
public partial class Form2 : WeifenLuo.WinFormsUI.Docking.DockContent

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

?
private void Form1_Load( object sender, EventArgs e)
{
     Form2 form2 = new Form2();
     form2.Show( this .dockPanel1);
     form2.DockTo( this .dockPanel1, DockStyle.Left);
}

  其中dockPanel1是父窗口中DockPanel的名称。主要用到Show和DockTo方法。DockTo中第二个参数可以更改,你想Dock到什么地方有改成什么。有DockStyle.Left, DockStyle.Right, DockStyle.Top, DockStyle.Bottom, DockStyle.Center.

Visual Studio中,可以通过拖拽工具栏实现一些特定的功能。具体的步骤如下: 1. 首先,确保你已经安装了WeifenLuo.WinFormsUI.Docking这个控件库。你可以通过右键单击引用,选择NuGet,然后下载安装这个控件库。 2. 在你的窗体上创建一个DockPanel控件。这个控件是用来容纳其他子窗体的容器。 3. 当你想要拖拽一个工具栏DockPanel上时,你需要创建一个继承自WeifenLuo.WinFormsUI.Docking.DockContent的子窗体。确保你的子窗体已经继承了DockContent,这样在对其进行拖拉拽时才会响应停靠、移动、拉伸等功能。 4. 创建一个工具栏控件,并将其添加到你的子窗体中。你可以在工具栏上添加按钮、标签等控件,用来执行特定的操作。 5. 在菜单和工具栏中的按钮对应的槽函数中,编写代码来实现你想要的功能。例如,当你点击打开按钮时,可以打开一个选择文件对话框,让用户选择一个txt文件,然后将文件内容显示到TextEdit中。 这样,当你在Visual Studio中拖拽工具栏时,你的子窗体会响应相应的停靠、移动、拉伸等功能,并执行你在槽函数中定义的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Winform模拟Visual Studio工具栏拖拉拽、停靠](https://blog.csdn.net/qq_36694133/article/details/131290924)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [《Qt+Visual Studio 2013》第三章 菜单栏和工具栏](https://blog.csdn.net/weixin_37934835/article/details/123352569)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值