WinForm布局,開源且好用的貌似不多,WeifenLuo.WinFormsUI.Docking 這個是其中之一,這個唯一的不好地方,就是沒有文檔,只能通過讀源碼,不過它源碼里面也提供了一個例子,很方便大家查看。大家有需要也可以去這個github上面找到對應網址並且下載下來。
下面是一個簡單的入門,也可以讓你大概了解下WeifenLuo.WinFormsUI.Docking是個什么東西。
首先:新建一個WinForm項目,添加四個窗體,分別為Form1,Form2,Form3,Form4。

第一步 從Nuget上添加WeifenLuo.WinFormsUI.Docking 引用

第二步 點擊生成項目,工具箱里面會多了這一項(不同VS版本可能不一樣)

第三步 把DockPanel拉進Form1,設置其Dock為Fill。
第四步 把Form2,Form3,Form4改成繼承自DockContent

第五步:在Form1的構造函數內加上如下代碼
Form2 f2 = new Form2(); f2.Show(dockPanel, DockState.DockLeft); Form3 f3 = new Form3(); f3.Show(dockPanel, DockState.DockRight); Form4 f4 = new Form4(); f4.Show(dockPanel, DockState.Document);
第六步:把(Form1)父窗體里面加上下面這句話。
this.IsMdiContainer = true;這個切記不能漏,可以直接按照我下面這種方式加

最后運行起來結果如下

