2012-04-03 10 views
0

同じサイズ/タイプの2つのWinForms要素を取り、その位置を入れ替える方法はありますか?Windowsフォーム要素 - スワップスポット

2つの値を持つドロップダウンがあり、その値に応じてフォームの左側または右側のいずれかにデータを入力する必要があるため、これを実行したいと思いますが、データは同じです同じフィールドですが、反対側にロックされたフィールドを表示する必要があります。

私の考えは、ロックされたフィールドと実際のフィールドを並べて表示し、その値に基づいてドロップダウンするだけでした。

これを行う方法はありますか?

私はちょうどフィールドの位置をつかんでリセットすることができますが、これを行うためのよりクリーンな方法があると思いました。

答えて

1

あなたが提案として、彼らはサイド・バイ・サイドであれば、あなただけの彼らのLeftプロパティを交換する必要があります。

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

彼らが同じでない場合にも、その最上位の特性を入れ替えることができ(すなわち、それらはありません実際に並んでいる)。

もちろん、これは同じ親コントロール内にある場合にのみ機能します。そうでない場合は、両親から削除してもう一方の親に追加する必要があります。

+0

パーフェクト、これのようなものが私が探していたものでした! – slandau

関連する問題