2012-03-25 50 views
1

對於我正在構建的winForm,我正在使用一個TableLayoutPanel,它具有任意數量的文本框和兩個用於添加或刪除框+和 - 的按鈕。 +和 - 按鈕來直接顯示爲用戶已經給定焦點像這樣的文本框下面:在TableLayoutPanel中移動控件的問題

  • (文本框)
  • (文本框具有焦點)
  • (減號按鈕)
  • (加號按鈕)
  • (文本框)
  • (文本框)
  • (文本框)

如果用戶單擊另一個框,則+和 - 按鈕應該在運行時適當移動。我一直試圖用.GetControlFromPosition.GetPositionFromControl命令來移動文本框,但這似乎不起作用,因爲這些框不會移動或移動到不同於預期的位置。什麼是最好的方式去解決這個問題?

+1

RowStyles.Add()是添加另一行所必需的。 SetCellPosition()將一個控件放入行中。不要忘記處理你刪除的控件。 – 2012-03-25 17:05:45

回答

0

您必須更改兩個按鈕和每個文本框在新舊位置之間的位置。如果兩個或多個控件被分配到同一個單元格,除一個之外的所有控件都將移動到下一個空單元格。


只是一個建議這可能看起來更好,使編碼更容易,怎麼樣有兩列窄的按鈕,文本框的右側。下面的()表示空單元格。

( text box ) () () 
(focused text box) (+) (-) 
( text box ) () () 
( text box ) () () 
( text box ) () () 
相關問題