私はそこにpictureBoxとcheckBoxを持つコントロールを作っています。私はこのすべてをWindowsフォームのユーザーコントロールにラップしています。ユーザーコントロールに動的な高さを設定するにはどうすればよいですか?
ハードコーディングと必要な高さを見つけるのではなく、親コントローラの高さを4px余白の上下に設定する方法がありますか?
私はそこにpictureBoxとcheckBoxを持つコントロールを作っています。私はこのすべてをWindowsフォームのユーザーコントロールにラップしています。ユーザーコントロールに動的な高さを設定するにはどうすればよいですか?
ハードコーディングと必要な高さを見つけるのではなく、親コントローラの高さを4px余白の上下に設定する方法がありますか?
UserControlのDockプロパティをFillに設定できます。これにより、UserControlが親コンテナの空き領域を埋めるようになります(他のドッキングされたコントロールでは使用されません)。あなたもパディングが必要な場合は、次のように親コンテナのDockPaddingプロパティを設定することができます
container.DockPadding.Top = 4;
container.DockPadding.Bottom = 4;
をただし、あなたが同様に親コンテナの幅を取るように制御したくない場合は、あなたが使用する必要がありますUserControlのAnchorプロパティ。それはコンテナに追加された場合
this.Anchor = AnchorStyles.Bottom | AnchorStyles.Top;
、それはLocation
とSize
だセットので、そのトップは、コンテナの上部から4つのピクセルであり、その下には下から4つのピクセルです。このように底部と頂部に設定してください。その後、コンテナの高さのサイズが変更されると、UserControlも変更されます。
はい、コントロールのAnchor
を親コントロールで希望のパディングを使用してコントロールのサイズを変更した後にAnchorStyles.Top | AnchorStyles.Bottom
に設定することができます。
親コントロールにコントロールを固定すると、親コントロールがサイズ変更されたときに、固定されたエッジが親コントロールのエッジに対して同じ位置に維持されます。