C# Dockpanel入門基礎必看篇
一、引用:
1.建立一個WinForm工程,預設生成了一個WinForm窗體Form1(此處預設為主窗體)。
2.引用—>新增引用—>瀏覽—>weiFenLuo.winFormsUI.Docking.dll。
3.設定Form1窗體屬性IsMdiContainer:True。
4.工具箱—>右鍵—>選擇項—>.net元件—>瀏覽—>weiFenLuo.winFormsUI.Docking.dll—>在工具箱出現dockPanel。
5.將dockPanel拖到窗體主窗體上,設定Dock屬性,一般預設設定為:Fill。
二、設定停靠窗體:
1.新建一個WinForm窗體。
2.在程式碼中修改窗體繼承於DockContent。如下:
using WeifenLuo.WinFormsUI.Docking;
public partial class Form2 : DockContent
3.在主窗體中顯示停靠窗體。
在要顯示停靠窗體的事件中寫入以下程式碼:
Private void 事件名(){ Form2 form2 = new Form2(); form2.Show(停靠的父容器,DockState.要停靠的方位); }
三、設定窗體浮動:
1、設定需要浮動的窗體的Dock中的DockAreas屬性。
四、關閉當前容器中的所有窗體
1、獲取到當容器中的所有子窗體的個數:
dockPanel1.Contents.Count;
2、獲取容器中的所有物件的陣列,並將其轉換為
IDockContent物件:
IDockContent content =(IDockContent)dockPanel1.Contents[index];
3、迴圈關閉:
for (int index = dockPanel1.Contents.Count;index > 0; index--) { if(dockPanel1.Contents[index] isIDockContent) { IDockContent content =(IDockContent)dockPanel1.Contents[index]; content.DockHandler.Close();}}
五、關閉除當前正在活動的子窗體之外得到所有子窗體:
1、獲取當前正在活動的子窗體物件:
this.ActiveMdiChild;
2、遍歷容器中的子窗體,並判斷是否為當前正在活動的窗體,不是則關閉:
if (this.ActiveMdiChild != null) { //判斷是否有子窗體 foreach (Form f in this.MdiChildren) {//獲取子窗體 if (f != this.ActiveMdiChild) { f.Close(); }//判斷是否為當前選定視窗 } }
六、更改窗體風格:
1、下載要設定風格的資源庫或相關控制元件。例如: vS2005Theme、vS2003Theme、vS2012LightTheme;
然後將要更改風格的DockPanel控制元件的Theme屬性設定為相應的控制元件名。例:
dockPanel1.Theme = vS2003Theme2;
如果要更改主窗體的風格,則要下載vS2012ToolStripExtender控制元件。
vS2012ToolStripExtender1.SetEnableVS2012Style(要更改的控制元件,true);
七、更改窗體的樣式:
1.獲取並記錄當前樣式:
DocumentStyle oldStyle = dockPanel1.DocumentStyle;//記錄舊的樣式
2.定義新樣式物件併為其賦值要更改的樣式:
DocumentStyle newStyle=要更改的樣式(DocumentStyle.樣式);
3、設定新的樣式:
要更改樣式的窗體.
DocumentStyle=newStyle;
八、記錄當前窗體佈局:
1.定義一個正在窗體關閉事件:
private void MainForm_FormClosing(object sender FormClosingEventArgse){ .......... }
2.在事件在寫入記錄當前窗體佈局的程式碼,如下:
configFile =Path.Combine(Path.GetDirectoryName(Application.ExecutablePath),"DockPanel.config");
dockPanel1.SaveAsXml(configFile);
3、如果下載開啟窗體需要載入上一次的退出時的佈局,則在窗體載入事件中寫入以下程式碼:
configFile =Path.Combine(Path.GetDirectoryName(Application.ExecutablePath),"DockPanel.config"); if(File.Exists(configFile)) { dockPanel1.LoadFromXml(configFile,ddc); }
補充知識:C#使用as關鍵字將物件轉換為指定型別
在C#的程式設計開發過程中,很多時候涉及到資料型別的轉換,可使用強制轉換的方式,不過強制轉換資料型別有時候會丟擲程式異常錯誤,可以使用as關鍵字來進行型別的轉換,如果轉換成功將返回轉換後的物件,如果轉換不成功則不會丟擲異常而是返回NULL。
如將A型別的物件modelA轉換為B型別的物件,可使用下列語句操作:
var entityB=modelA as B;
如果entityB不為空,則轉換成功,如果entityB的值為空,則轉換不成功。
以上這篇C# Dockpanel入門基礎必看篇就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。