[PPWI11285]サイズの自動調整を設定したコントロールを使用すると、フォームをデザイナで開くときコントロールのサイズ変更が発生してしまう場合がある
対象製品
PlusPak for Windows Forms 7.0J
詳細
この現象は以下のコントロールをフォームに配置している場合に発生します。
[対象コントロール]
・GcButton
・GcDropDownButton
・GcSplitButton
・GcContainer
・GcFlowLayoutContainer
・GcHeadingContainer
・GcTableLayoutContainer
対象コントロールをフォームに配置して、下記のプロパティをすべてデザイン画面のプロパティグリッドで設定した場合、デザイン画面を開くときにコントロールのサイズ変更が発生してしまいます。そのため、フォームを開くだけでファイルが編集状態になってしまいます。
[プロパティ設定]
1) AutoSizeプロパティを"True"に設定する
2) AutoSizeModeプロパティを"GrowAndShrink"に設定する
3) MinimumSizeプロパティを(0,0)以外に設定する
[対象コントロール]
・GcButton
・GcDropDownButton
・GcSplitButton
・GcContainer
・GcFlowLayoutContainer
・GcHeadingContainer
・GcTableLayoutContainer
対象コントロールをフォームに配置して、下記のプロパティをすべてデザイン画面のプロパティグリッドで設定した場合、デザイン画面を開くときにコントロールのサイズ変更が発生してしまいます。そのため、フォームを開くだけでファイルが編集状態になってしまいます。
[プロパティ設定]
1) AutoSizeプロパティを"True"に設定する
2) AutoSizeModeプロパティを"GrowAndShrink"に設定する
3) MinimumSizeプロパティを(0,0)以外に設定する
回避方法
この問題はService Pack 3(v7.0.2016.0428)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
※GcHeadingContainerが展開されている場合は本現象は発生します。これは製品の制限事項です。回避方法でご対応ください。
Service Pack 3より前のバージョンでは次の方法で回避可能です。
AutoSize/AutoSizeMode/MinimumSizeプロパティのいずれかをプロパティグリッドではなく、フォームのコンストラクタで設定します。
下記のサンプルコードは、GcContainerのAutoSizeプロパティをフォームのコンストラクタに実装する例です。
[Visual Basic]
Public Class Form1
Public Sub New()
' この呼び出しはデザイナーで必要です。
InitializeComponent()
' InitializeComponent() 呼び出しの後で初期化を追加します。
' 実行時にAutoSizeを有効にします。
If Not DesignMode Then
GcContainer1.AutoSize = True
End If
End Sub
End Class
[C#]
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// 実行時にAutoSizeを有効にします。
if (!DesignMode)
{
this.gcContainer1.AutoSize = true;
}
}
}
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
※GcHeadingContainerが展開されている場合は本現象は発生します。これは製品の制限事項です。回避方法でご対応ください。
Service Pack 3より前のバージョンでは次の方法で回避可能です。
AutoSize/AutoSizeMode/MinimumSizeプロパティのいずれかをプロパティグリッドではなく、フォームのコンストラクタで設定します。
下記のサンプルコードは、GcContainerのAutoSizeプロパティをフォームのコンストラクタに実装する例です。
[Visual Basic]
Public Class Form1
Public Sub New()
' この呼び出しはデザイナーで必要です。
InitializeComponent()
' InitializeComponent() 呼び出しの後で初期化を追加します。
' 実行時にAutoSizeを有効にします。
If Not DesignMode Then
GcContainer1.AutoSize = True
End If
End Sub
End Class
[C#]
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// 実行時にAutoSizeを有効にします。
if (!DesignMode)
{
this.gcContainer1.AutoSize = true;
}
}
}