2012-04-03 48 views
0

有沒有什麼辦法可以帶兩個相同大小/類型的WinForms元素,只交換他們的位置?Windows窗體元素 - 交換點

我想這樣做是因爲我們有一個帶有兩個值的下拉列表,根據它的值,我們想要在表格的左側或右側輸入數據,但是,這是相同的數據,相同的字段,但你需要看到另一邊的鎖定字段。

我的想法是隻有一堆鎖定的字段和實際的字段,並排,並有下拉交換基於它的價值。

有沒有辦法做到這一點?

我知道我可以抓住領域的位置,並重置它們,但我認爲可能有更乾淨的方法來做到這一點。

回答

1

如果你建議他們是並排的一面,你只需要更換他們的Left屬性:

int tmp = control1.Left; 
control1.Left = control2.Left; 
control2.Left = tmp; 

你也可以,如果他們是不一樣的交換他們的頂級屬性(即它們不是實際上是並排的)。

當然,這隻有在它們在同一個父控件中時纔有效。如果他們不是,您需要將他們從父母身上移除並將他們添加回另一位家長身上。

+0

完美,像這樣的東西正是我期待的! – slandau 2012-04-03 16:55:37