リサイズの許可設定
AllowResizeプロパティは、コントロールのリサイズに合わせて、子コントロールの位置とサイズを調整するかどうかを設定します。
次のコードでは、コントロールのリサイズに合わせて子コントロールの位置とサイズを調整します。
次のコードでは、コントロールのリサイズに合わせて子コントロールの位置とサイズを調整します。
|
リサイズ対象の設定
ResizeMode プロパティを使用すると、リサイズ時に調整する対象を指定することができます。
次のコードでは、フォームのリサイズに合わせてコントロールのレイアウトのみをリサイズします。
プロパティ | 説明 |
---|---|
None | リサイズの調整を行いません。 |
Layout | レイアウトのみをリサイズします。 |
LayoutAndFont | レイアウトとフォントをリサイズします。 |
次のコードでは、フォームのリサイズに合わせてコントロールのレイアウトのみをリサイズします。
GcResizePanel1.ResizeMode = GrapeCity.Win.Components.ResizeMode.Layout
gcResizePanel1.ResizeMode = GrapeCity.Win.Components.ResizeMode.Layout;
子コントロールでのリサイズ設定
GcResizePanel コントロール上に子コントロールを追加すると、GcResizePanel コントロールの AllowResize プロパティと ResizeMode プロパティが子コントロールごとに使用できるようになります。
このプロパティを使用することで、子コントロールごとにリサイズ調整を行うかどうかを設定することができます。
このプロパティを使用することで、子コントロールごとにリサイズ調整を行うかどうかを設定することができます。
|
最小縮小率の設定
MinimumFactor プロパティを使用すると、フォームのサイズを縮小したときに子コントロールを縮小する比率を設定できます。 MinimumFactor プロパティの既定値には 100% が設定されていますが、この場合にはフォームを元のサイズより小さくしても、子コントロールは縮小されません。MinimumFactor プロパティに 80% を設定した場合には Height および Width プロパティが元のサイズの 80% まで縮小されます。
次のコードでは、コントロールの既定のサイズに対して 80% まで縮小を行います。
MinimumFactor プロパティに設定できる値は 10%〜100% の範囲になります。
最小縮小率の設定 |
次のコードでは、コントロールの既定のサイズに対して 80% まで縮小を行います。
MinimumFactor プロパティに設定できる値は 10%〜100% の範囲になります。
|
リサイズ後のコントロール追加
リサイズされたGcResizePanelコントロールに対し、System.Windows.Forms.ControlCollectionのAddメソッドを使用して動的にコントロールを追加する場合は追加処理の前後でBeginAddControlsおよびEndAddControlsメソッドをコールする必要があります。
BeginAddControlsおよびEndAddControlsメソッドを利用せず、 Addメソッドのみを使用して動的にコントロールの追加を行うと、適切な拡縮率がコントロールに適用されません。
以下のサンプルコードでは、動的に追加したボタンコントロールに適切な拡縮率が適用されます。
下記のような初期サイズのフォームとボタンコントロールを例に、BeginAddControlsおよび EndAddControlsメソッドを使用して動的にコントロールを追加した際の動作について解説します。
フォームのリサイズ後、BeginAddControlsおよび EndAddControlsメソッドを使用して動的にコントロールを追加すると以下のような結果となります。
このとき、BeginAddControlsおよび EndAddControlsメソッドを使用しないと、適切な拡縮率が適用されずコントロールの一部(フォントサイズなど)に意図しない拡大や縮小が発生します。
BeginAddControlsおよびEndAddControlsメソッドを利用せず、 Addメソッドのみを使用して動的にコントロールの追加を行うと、適切な拡縮率がコントロールに適用されません。
以下のサンプルコードでは、動的に追加したボタンコントロールに適切な拡縮率が適用されます。
'コントロール追加前にBeginAddControlsメソッドをコールします。 GcResizePanel1.BeginAddControls() 'ボタンコントロールを生成します。 Dim newButton As New Button() newButton.Location = New Point(0, 0) newButton.Size = New Size(100, 30) newButton.Text = "Added Button" 'GcResizePanelにボタンコントロールを追加します。 GcResizePanel1.Controls.Add(newButton) 'コントロール追加後にEndAddControlsメソッドをコールします。 GcResizePanel1.EndAddControls()
//コントロール追加前にBeginAddControlsメソッドをコールします。 gcResizePanel1.BeginAddControls(); //ボタンコントロールを生成します。 Button newButton = new Button(); newButton.Location = new Point(0, 0); newButton.Size = new Size(100, 30); newButton.Text = "Added Button"; //GcResizePanelにボタンコントロールを追加します。 gcResizePanel1.Controls.Add(newButton); //コントロール追加後にEndAddControlsメソッドをコールします。 gcResizePanel1.EndAddControls();
フォームのリサイズ後、BeginAddControlsおよび EndAddControlsメソッドを使用して動的にコントロールを追加すると以下のような結果となります。
このとき、BeginAddControlsおよび EndAddControlsメソッドを使用しないと、適切な拡縮率が適用されずコントロールの一部(フォントサイズなど)に意図しない拡大や縮小が発生します。