C#:Dockpanel的一些入门的基本操作
原文鏈接:
一、引用:
1.建立一個(gè)WinForm工程,默認(rèn)生成了一個(gè)WinForm窗體Form1(此處默認(rèn)為主窗體)。
2.引用—>添加引用—>瀏覽—>weiFenLuo.winFormsUI.Docking.dll。
3.設(shè)置Form1窗體屬性IsMdiContainer:True。
4.工具箱—>右鍵—>選擇項(xiàng)—>.net組件—>瀏覽—>weiFenLuo.winFormsUI.Docking.dll—>在工具箱出現(xiàn)dockPanel。
5.將dockPanel拖到窗體主窗體上,設(shè)置Dock屬性,一般默認(rèn)設(shè)置為:Fill。
?
二、設(shè)置停靠窗體:
1.新建一個(gè)WinForm窗體。
?
2.在代碼中修改窗體繼承于DockContent。如下:
using WeifenLuo.WinFormsUI.Docking;public partial class Form2 : DockContent?
3.在主窗體中顯示停靠窗體。
在要顯示停靠窗體的事件中寫(xiě)入以下代碼:
Private void 事件名() ???????{Form2 form2 = new Form2();form2.Show(停靠的父容器,DockState.要停靠的方位); }?
三、設(shè)置窗體浮動(dòng):
1、設(shè)置需要浮動(dòng)的窗體的Dock中的DockAreas屬性。
四、關(guān)閉當(dāng)前容器中的所有窗體
1、獲取到當(dāng)容器中的所有子窗體的個(gè)數(shù):????????????????????????? ? ? ? ? ? ? ?
?dockPanel1.Contents.Count;2、獲取容器中的所有對(duì)象的數(shù)組,并將其轉(zhuǎn)換為
IDockContent對(duì)象:
IDockContent content =(IDockContent)dockPanel1.Contents[index];3、循環(huán)關(guān)閉:
for (int index = dockPanel1.Contents.Count;index > 0; index--) {if(dockPanel1.Contents[index] isIDockContent){IDockContent content =(IDockContent)dockPanel1.Contents[index];content.DockHandler.Close();} }?
五、關(guān)閉除當(dāng)前正在活動(dòng)的子窗體之外得到所有子窗體:
1、獲取當(dāng)前正在活動(dòng)的子窗體對(duì)象:
this.ActiveMdiChild;?
2、遍歷容器中的子窗體,并判斷是否為當(dāng)前正在活動(dòng)的窗體,不是則關(guān)閉:
if (this.ActiveMdiChild != null) { //判斷是否有子窗體foreach (Form f in this.MdiChildren){//獲取子窗體if (f != this.ActiveMdiChild) { f.Close(); }//判斷是否為當(dāng)前選定窗口} }?
六、更改窗體風(fēng)格:
1、下載要設(shè)置風(fēng)格的資源庫(kù)或相關(guān)控件。例如: vS2005Theme、vS2003Theme、vS2012LightTheme;
然后將要更改風(fēng)格的DockPanel控件的Theme屬性設(shè)置為相應(yīng)的控件名。例:
dockPanel1.Theme = vS2003Theme2;如果要更改主窗體的風(fēng)格,則要下載vS2012ToolStripExtender控件。
vS2012ToolStripExtender1.SetEnableVS2012Style(要更改的控件, true);?
七、更改窗體的樣式:
1.獲取并記錄當(dāng)前樣式:
DocumentStyle oldStyle = dockPanel1.DocumentStyle;//記錄舊的樣式2.定義新樣式對(duì)象并為其賦值要更改的樣式:
DocumentStyle newStyle=要更改的樣式(DocumentStyle.樣式);3、設(shè)置新的樣式:
要更改樣式的窗體. DocumentStyle=newStyle;
八、記錄當(dāng)前窗體布局:
1.定義一個(gè)正在窗體關(guān)閉事件:
private void MainForm_FormClosing(object sender FormClosingEventArgse){..........}2.在事件在寫(xiě)入記錄當(dāng)前窗體布局的代碼,如下:
configFile =Path.Combine(Path.GetDirectoryName(Application.ExecutablePath),"DockPanel.config");dockPanel1.SaveAsXml(configFile);3、如果下載打開(kāi)窗體需要加載上一次的退出時(shí)的布局,則在窗體加載事件中寫(xiě)入以下代碼:
configFile=Path.Combine(Path.GetDirectoryName(Application.ExecutablePath),"DockPanel.config");if(File.Exists(configFile)) {dockPanel1.LoadFromXml(configFile, ddc); }?
總結(jié)
以上是生活随笔為你收集整理的C#:Dockpanel的一些入门的基本操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 微信小程序商城毕业设计毕设作品(6)任务
- 下一篇: C#:RichTextBox 追加其它颜