日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果

發布時間:2023/12/18 C# 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

很酷的效果,很值得好好去學習的哈。

重置工具箱:

新建一個WinForm程序,項目名稱為TestDockPanelControl。選中Form1窗體后選擇工具箱--->>新建個添加選項卡命名為WeiFenLuo--->>右鍵--->>選擇項--->>瀏覽---

>>weiFenLuo.winFormsUI.Docking.dll--->>確定.此時工具箱出現DockPanel控件。這以上步驟僅是把DockPanel控件添加到工具箱中。

接下來看看DockPanel控件的停靠效果是如何實現的。

主窗體設置:(Form1窗體默認是主窗體)

Form1窗體的屬性設置
在原有的Form1窗體上設置窗體的Text屬性為主窗體,IsMdiContainer屬性為true也就是設置為MDI程序(為了體驗DockPanel控件的演示效果)。FormBorderStyle設置為

FixedSingle,StartPosition設置為CenterScreen,WindowState設置為Maximized。

Form1窗體的控件布局
將工具箱下的MenuStrip控件和DockPanel控件拖放到窗體上,設置DockPanel控件的Dock屬性為Fill.設置MenuStrip的子菜單選項設置值如下圖所示:

停靠窗體設置(FormDock為子窗體):

添加一個新的WinForm窗體命名為FormDock,設置Text值為停靠窗體,Size值為207,382此處值可以根據實際的需要情況而定并非唯一。

主要點:在代碼中修改窗體繼承于DockContent,要添加using WeifenLuo.WinFormsUI.Docking命名空間
修改前代碼:

public partial class FormDock :Form {public FormDock(){InitializeComponent();} }

修改后代碼:

public partial class FormDock :DockContent {public FormDock(){InitializeComponent();} }

回到主窗體Form1窗體,在Form1窗體中顯示要停靠的窗體(FormDock)
代碼如下:

//底部private void bottomToolStripMenuItem_Click(object sender, EventArgs e){FormDock frm = new FormDock();frm.Text = "底部停靠";frm.Show(this.dockPanel1);frm.DockTo(this.dockPanel1, DockStyle.Bottom);}//全屏private void fillToolStripMenuItem_Click(object sender, EventArgs e){FormDock frm = new FormDock();frm.Text = "全屏停靠";frm.Show(this.dockPanel1);frm.DockTo(this.dockPanel1, DockStyle.Fill);}//左側private void leftToolStripMenuItem_Click(object sender, EventArgs e){FormDock frm = new FormDock();frm.Text = "左側停靠";frm.Show(this.dockPanel1);frm.DockTo(this.dockPanel1, DockStyle.Left);}//Noneprivate void noneToolStripMenuItem_Click(object sender, EventArgs e){FormDock frm = new FormDock();frm.Text = "NONE";frm.Show(this.dockPanel1);frm.DockTo(this.dockPanel1, DockStyle.None);}//右側private void rightToolStripMenuItem_Click(object sender, EventArgs e){FormDock frm = new FormDock();frm.Text = "右側停靠";frm.Show(this.dockPanel1);frm.DockTo(this.dockPanel1, DockStyle.Right);}//頂部private void topToolStripMenuItem_Click(object sender, EventArgs e){FormDock frm = new FormDock();frm.Text = "頂部停靠";frm.Show(this.dockPanel1);frm.DockTo(this.dockPanel1, DockStyle.Top);}

以上的就是用DockPanel控件來使窗體進行停靠的整個操作。

效果圖如下所示:

DockPanel控件還可以拖放子窗體,可以把子窗體拖放到上左中右下等位置
只要把DockPanel控件的的AllowDrop設置為true就可以了。效果圖如下所示;

?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。