私は他のコントロールを持つタブコントロールを持つウィンドウフォームを持っています。Control.Bounds.Bounds.Bottomにサイズを変更すると予期しない結果が発生する
コントロールの量は動的であり、私はこのコードの一部持ってちょうどいいサイズにフォームをしたいので:これはちょうどその高さは、下部に2つのコントロールをトリミングフォームの幅を設定しながら
int w = 0;
int h = 0;
foreach (Control x in Tab_Control.Controls)
{
if (x.Bounds.Right > w) w = x.Bounds.Right;
if (x.Bounds.Bottom > h) h = x.Bounds.Bottom;
}
Tab_Control.Size = new Size(w, h);
Form1.Size = new Size(w, h);
を。私は位置が親コントロールに相対的であるかもしれないと思ったが、実際の座標を得るために "PointToScreen(Point.Empty)"を使用した場合、その違いが21ピクセルになることがわかった。
私はなぜフォームの高さをhに設定するのが短すぎるのだろうと思っています。
ClientSizeは機能しましたが、 "AutSize"をTrueに設定し、 "AutoSizeMode"を "GrowAndShrink"に設定すると、何らかの理由でボトムコントロール(余白があります)がトリミングされます。 – mathgenius
Nvm、それはタブコントロールがあり、それ自体がAutoSizeプロパティを持たないので動作しません。 – mathgenius