リサイズの許可設定
AllowResizeプロパティは、フォームのリサイズに合わせて、子コントロールの位置とサイズを調整するかどうかを設定します。
次のコードでは、フォームのリサイズに合わせて子コントロールの位置とサイズを調整します。
次のコードでは、フォームのリサイズに合わせて子コントロールの位置とサイズを調整します。
|
リサイズ対象の設定
ResizeModeプロパティを使用すると、リサイズ時に調整する対象を指定することができます。
次のコードでは、フォームのリサイズに合わせてコントロールのレイアウトのみをリサイズします。
プロパティ | 説明 |
---|---|
None | リサイズの調整を行いません。 |
Layout | レイアウトのみをリサイズします。 |
LayoutAndFont | レイアウトとフォントをリサイズします。 |
次のコードでは、フォームのリサイズに合わせてコントロールのレイアウトのみをリサイズします。
GcResize1.ResizeMode = GrapeCity.Win.Components.ResizeMode.Layout
gcResize1.ResizeMode = GrapeCity.Win.Components.ResizeMode.Layout;
子コントロールでのリサイズ設定
GcResize コンポーネントをフォームに追加すると、GcResize コンポーネントの AllowResize プロパティと ResizeMode プロパティが子コントロールごとに使用できるようになります。
このプロパティを使用することで、子コントロールごとにリサイズ調整を行うかどうかを設定することができます。
このプロパティを使用することで、子コントロールごとにリサイズ調整を行うかどうかを設定することができます。
|
フォームの初期サイズの設定
InitializeSettings プロパティを使用するとフォームの初期サイズを設定することができます。InitializeSettingsプロパティには、次のプロパティが含まれます。
InitializeSettings.InitializeModeプロパティは、次のいずれかのモードを設定できます。
プロパティ | 説明 |
---|---|
InitializeMode | フォームの初期サイズとして設定されるモードを設定します。 |
FactorX | InitialMode が Factor の場合に有効になります。初期設定の Width と元のフォームの Width との割合である FactorX を設定できます。元のフォームサイズは設計時のサイズです。 |
FactorY | InitialMode が Factor の場合に有効になります。初期設定の Height と元のフォームの Height の割合である FactorY を設定できます。元のフォームサイズは設計時のサイズです。 |
FillScreenPercentageX | InitialMode が FillScreen の場合に有効になります。ワークエリアとなるスクリーンサイズ幅との割合である FillScreenPercentageXを設定できます。 |
FillScreenPercentageY | InitialMode が FillScreen の場合に有効になります。ワークエリアとなるスクリーンサイズの高さとの割合である FillScreenPercentageYを設定できます |
Size | InitialMode が Size の場合に有効になります。このプロパティに初期設定のフォームのサイズを設定することが可能です。 |
InitializeSettings.InitializeModeプロパティは、次のいずれかのモードを設定できます。
プロパティ | 説明 |
---|---|
FillScreen | 最大化のように、フォームを画面いっぱいに表示します。 |
Size | フォームの初期設定サイズを設定できます。 |
Factor | 元のフォームサイズのFactorXとFactorYを設定することで、フォームの初期サイズを設定できます。 |
None | 設計時のフォームサイズを使用します。 |
InitializeModeプロパティをFillScreenに設定しFillScreenPercentageXおよびFillScreenPercentageYプロパティを使用して初期サイズを設定すると、ディスプレイの解像度に依存しない初期サイズの指定が可能になります。
以下の例ではスクリーンの幅、高さに対して50%の割合でフォームの初期サイズを指定しています。
GcResize1.InitializeSettings.InitializeMode = GrapeCity.Win.Components.InitializeMode.FillScreen GcResize1.InitializeSettings.FillScreenPercentageX = 0.5 GcResize1.InitializeSettings.FillScreenPercentageY = 0.5
gcResize1.InitializeSettings.InitializeMode = GrapeCity.Win.Components.InitializeMode.FillScreen; gcResize1.InitializeSettings.FillScreenPercentageX = 0.5; gcResize1.InitializeSettings.FillScreenPercentageY = 0.5;
最小縮小率の設定
MinimumFactorプロパティを使用すると、フォームのサイズを縮小したときに子コントロールを縮小する比率を設定できます。 MinimumFactor プロパティの既定値には 100% が設定されていますが、この場合にはフォームを元のサイズより小さくしても、子コントロールは縮小されません。MinimumFactor プロパティに 50% を設定した場合には Height および Width プロパティが元のサイズの 50% まで縮小されるので、子コントロールは最小サイズが元のサイズの4分の1になります。
次のコードでは、コントロールの既定のサイズに対して 50% まで縮小を行います。
MinimumFactor プロパティに設定できる値は 10%〜100% の範囲になります。
次のコードでは、コントロールの既定のサイズに対して 50% まで縮小を行います。
MinimumFactor プロパティに設定できる値は 10%〜100% の範囲になります。
|
リサイズ後のコントロール追加
リサイズされたフォームに対し、System.Windows.Forms.ControlCollectionのAddメソッドを使用して動的にコントロールを追加する場合は追加処理の前後でBeginAddControlsおよびEndAddControlsメソッドをコールする必要があります。
BeginAddControlsおよびEndAddControlsメソッドを利用せず、 Addメソッドのみを使用して動的にコントロールの追加を行うと、適切な拡縮率がコントロールに適用されません。
以下のサンプルコードでは、動的に追加したボタンコントロールに適切な拡縮率が適用されます。
下記のような初期サイズのフォームとボタンコントロールを例に、BeginAddControlsおよび EndAddControlsメソッドを使用して動的にコントロールを追加した際の動作について解説します。
フォームのリサイズ後、BeginAddControlsおよび EndAddControlsメソッドを使用して動的にコントロールを追加すると以下のような結果となります。
このとき、BeginAddControlsおよび EndAddControlsメソッドを使用しないと、適切な拡縮率が適用されずコントロールの一部(フォントサイズなど)に意図しない拡大や縮小が発生します。
BeginAddControlsおよびEndAddControlsメソッドを利用せず、 Addメソッドのみを使用して動的にコントロールの追加を行うと、適切な拡縮率がコントロールに適用されません。
以下のサンプルコードでは、動的に追加したボタンコントロールに適切な拡縮率が適用されます。
'コントロール追加前にBeginAddControlsメソッドをコールします。 GcResize1.BeginAddControls() 'ボタンコントロールを生成します。 Dim newButton As New Button() newButton.Location = New Point(0, 0) newButton.Size = New Size(100, 30) newButton.Text = "Added Button" 'フォームにボタンコントロールを追加します。 Me.Controls.Add(newButton) 'コントロール追加後にEndAddControlsメソッドをコールします。 GcResize1.EndAddControls()
//コントロール追加前にBeginAddControlsメソッドをコールします。 gcResize1.BeginAddControls(); //ボタンコントロールを生成します。 Button newButton = new Button(); newButton.Location = new Point(0, 0); newButton.Size = new Size(100, 30); newButton.Text = "Added Button"; //フォームにボタンコントロールを追加します。 this.Controls.Add(newButton); //コントロール追加後にEndAddControlsメソッドをコールします。 gcResize1.EndAddControls();
フォームのリサイズ後、BeginAddControlsおよび EndAddControlsメソッドを使用して動的にコントロールを追加すると以下のような結果となります。
このとき、BeginAddControlsおよび EndAddControlsメソッドを使用しないと、適切な拡縮率が適用されずコントロールの一部(フォントサイズなど)に意図しない拡大や縮小が発生します。
フルスクリーンモード
FullScreenMode プロパティを使用すると、アプリケーションを画面全体に表示することができます。
FullScreenMode プロパティに FullScreen を設定すると、フォームを画面全体に表示します。また、FullScreenWithTaskBar を設定すると、Windowsタスクバー領域を除いた画面全体に表示します。
次のコードでは、フォームを画面全体に表示します。
FullScreenMode プロパティに FullScreen を設定すると、フォームを画面全体に表示します。また、FullScreenWithTaskBar を設定すると、Windowsタスクバー領域を除いた画面全体に表示します。
次のコードでは、フォームを画面全体に表示します。
GcResize1.FullScreenMode = GrapeCity.Win.Components.FullScreenMode.FullScreen
gcResize1.FullScreenMode = GrapeCity.Win.Components.FullScreenMode.FullScreen;