0

tabPage を使用する winform アプリケーションがあり、ページにいくつかのコントロールを動的に追加しました。ただし、その後、コントロールの位置が変更されました。微調整の後、コントロールの位置は正しいように見えますが、一部のコントロールのサイズは再び正しくありません。助けてください!!!ありがとう

次のようなコード スニペット:

foreach (Control c in controls)
{
    Point oldLocation = c.Location;
    this.SuspendLayout();                                          
    this.Controls.Add(c);                        
    c.Location = oldLocation;                       
    c.BringToFront();
    this.ResumeLayout(false);
    this.PerformLayout();
}
4

1 に答える 1

0

おそらくこれについては詳しく説明していません。私が必要としているのは、フローティング タブ ページです。そのため、別のフォームを保持することになり、フローティングモードとドッキングモードを切り替えるときに、フォームとタブページをオン/非表示に切り替えました。

これを実現するには、フォームとページのいずれかからすべてのコントロールをコピー/削除する必要があります。コントロールの場所/サイズは、削除/コピーの間で変更されることがわかりました。

最終的な回避策は、削除とコピーを行う前に元の場所/サイズを保存し、後でコントロールの場所とサイズをリセットすることです。それはかなり不自由な解決策に聞こえますが、今はこれ以上の解決策を見つけることができません。

于 2013-05-03T12:12:43.720 に答える