|
|
|
廣告
|
|
|
|||||
|
|||||
| 樓主 昏
|
在win form 假設有3個Button btn1, btn2, btn3
預設3個的Dock屬性都設為Top, 由上而下排列順序為btn1, btn2, btn3 在執行過程中,將其Dock屬性改為Bottom,由上而下排列順序卻變為 btn3, btn2, btn1 (改變程式的順序,排列順序還是一樣) 請問要如何自由控制元件的排列順序?
本篇文章發表於2005-05-24 16:58
|
||||
| 小舖會員回娘家!重量級好禮送給大家 | 2009年藍色小舖認證專家卡得主名單 |
| 1樓
最有價值解答
.SM.
|
主要是要控制 Dock 屬性,以及 Controls.Add 的順序.
private void RemoveBtn(Button btn1)
{
if(this.Controls.Contains(btn1))
this.Controls.Remove(btn1);
}
private void SetDockProperity(Button btn1, DockStyle dockStyle)
{
btn1.Dock = dockStyle;
}
private void DockTop_Click(object sender, System.EventArgs e)
{
RemoveBtn(this.button1);
RemoveBtn(this.button2);
RemoveBtn(this.button3);
SetDockProperity(this.button1, System.Windows.Forms.DockStyle.Top);
SetDockProperity(this.button2, System.Windows.Forms.DockStyle.Top);
SetDockProperity(this.button3, System.Windows.Forms.DockStyle.Top);
this.Controls.Add(this.button3); // 注意順序, 後 Add 的最上面
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
}
private void DockBottom_Click(object sender, System.EventArgs e)
{
RemoveBtn(this.button1);
RemoveBtn(this.button2);
RemoveBtn(this.button3);
SetDockProperity(this.button1, System.Windows.Forms.DockStyle.Bottom);
SetDockProperity(this.button2, System.Windows.Forms.DockStyle.Bottom);
SetDockProperity(this.button3, System.Windows.Forms.DockStyle.Bottom);
this.Controls.Add(this.button3); // 注意順序, 後 Add 的最下面
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
}
|
||||
| 2樓
作者回應
昏
|
原來要利用重新Add 才能設定元件的順序... 謝啦
本篇文章回覆於2005-06-10 16:57
|
| 回覆 |
| 如要回應,請先登入. |
|
![]() |
| 網站導覽| 網站介紹 | 會員權益 | 點數說明 | 加值服務 | 大事紀 | 廣告刊登 |常見問題 | 聯絡我們 |
捨得資訊股份有限公司 版權所有 ©copyright 2004 All Rights Reserved 艾堤數位科技股份有限公司 網站維護、經營管理 | Managed by I-Tea Technology |
|
|