深入分析C#中WinForm控件之Dock順序調(diào)整的詳解
更新時間:2013年05月20日 09:34:50 作者:
本篇文章是對C#中WinForm控件之Dock順序調(diào)整進行了詳細的分析介紹,需要的朋友參考下
最近被.net winform中的控件布局搞困惑了,由于控件都是使用Dock方式的,操作起來也是比較方便,如果最大化,窗口大小調(diào)整等,都可以隨著窗口大小的變化而變化。
但問題是,.net winform的dock方式是根據(jù)先添加的控件順序進行優(yōu)先級Dock排列的,假設我想目前有三個控件A、B、C分別以 Top、Bottom以及Fill方式填充窗口即窗口看起來應該是這樣的:
---------------------
A
---------------------
C
---------------------
----------------------
問題來了,現(xiàn)在我想添加D控件在A及C中間怎么辦?嘗試了不少辦法都不行,一般都會覆蓋掉C控件的,也就是最后添加的控件。
在網(wǎng)上查找,很多人都提出一種無奈的解決方案,那就是重新來過,將控件再次添加到窗口form中,雖然可以解決Dock布局帶來的困擾,但帶來的是工作量的倍增同時很難調(diào)整到跟之前的布局一模一樣 。
想來這都不是解決的辦法,添加添加,我一直想,對了先添加的控件具有Dock的優(yōu)先排序權,應該可以從Designer文件中著手啊。
找到以下代碼:
this.Controls.Add(this.D);
this.Controls.Add(this.C);
this.Controls.Add(this.B);
this.Controls.Add(this.A);
將代碼的順序調(diào)整為:
this.Controls.Add(this.C);
this.Controls.Add(this.D);
this.Controls.Add(this.B);
this.Controls.Add(this.A);
問題即解決了。
由此可見,在Desinger文件中是以后添加的控件為優(yōu)先權高來Dock排序,即A控件的排序優(yōu)先權最高。
但問題是,.net winform的dock方式是根據(jù)先添加的控件順序進行優(yōu)先級Dock排列的,假設我想目前有三個控件A、B、C分別以 Top、Bottom以及Fill方式填充窗口即窗口看起來應該是這樣的:
---------------------
A
---------------------
C
---------------------
----------------------
問題來了,現(xiàn)在我想添加D控件在A及C中間怎么辦?嘗試了不少辦法都不行,一般都會覆蓋掉C控件的,也就是最后添加的控件。
在網(wǎng)上查找,很多人都提出一種無奈的解決方案,那就是重新來過,將控件再次添加到窗口form中,雖然可以解決Dock布局帶來的困擾,但帶來的是工作量的倍增同時很難調(diào)整到跟之前的布局一模一樣 。
想來這都不是解決的辦法,添加添加,我一直想,對了先添加的控件具有Dock的優(yōu)先排序權,應該可以從Designer文件中著手啊。
找到以下代碼:
復制代碼 代碼如下:
this.Controls.Add(this.D);
this.Controls.Add(this.C);
this.Controls.Add(this.B);
this.Controls.Add(this.A);
將代碼的順序調(diào)整為:
復制代碼 代碼如下:
this.Controls.Add(this.C);
this.Controls.Add(this.D);
this.Controls.Add(this.B);
this.Controls.Add(this.A);
問題即解決了。
由此可見,在Desinger文件中是以后添加的控件為優(yōu)先權高來Dock排序,即A控件的排序優(yōu)先權最高。
您可能感興趣的文章:
相關文章
WPF實現(xiàn)類似360安全衛(wèi)士界面的程序源碼分享
最近在網(wǎng)上看到了新版的360安全衛(wèi)士,感覺界面還不錯,于是用WPF制作了一個,時間有限,一些具體的控件沒有制作,用圖片代替了。感興趣的朋友一起跟著小編學習WPF實現(xiàn)類似360安全衛(wèi)士界面的程序源碼分享2015-09-09C# Entity Framework中的IQueryable和IQueryProvider詳解
這篇文章主要介紹了C# Entity Framework中的IQueryable和IQueryProvider詳解,本文使用實例分析這兩個接口的內(nèi)部實現(xiàn),需要的朋友可以參考下2015-01-01C# websocket及時通信協(xié)議的實現(xiàn)方法示例
說到websocket大家一定不會陌生,WebSocket是HTML5一種新的協(xié)議。下面這篇文章主要給大家介紹了關于C# websocket及時通信協(xié)議的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2017-11-11