作成日: 2020/04/15 最終更新日: 2020/04/15
文書種別
使用方法
詳細
セクションレポートにおいて、TextBoxコントロールやセクションのCanGrow(CanShrink)プロパティをTrueに設定した場合、それらの高さは、データや配置されているコントロールの内容に合わせて自動的に調整されます。
また、CanGrowプロパティによってコントロールの高さが伸長する場合、伸長前のコントロールの下端以下に配置されている他のコントロールの縦位置(Topプロパティ)は、伸長された高さに合わせて自動的に調整されます。

※CanGrow/CanShrinkプロパティによる高さの自動調整は、そのセクションのFormatイベント終了後、BeforePrintイベント発生前に行われます。
※Formatイベント終了時点で、VisibleプロパティがFalseに設定されているコントロールについては、高さの自動調整は行われません。
ただし、CanGrowプロパティによって高さが調整されるコントロールの下端より上に上端が、位置が調整されるコントロールの上端より下に下端があるコントロールが他に存在した場合、そちらとの位置関係が優先されるため、縦位置の調整は行われません。セクションの上端から下端まで縦線を出力するために、Lineコントロールを配置しているような場合には、こちらの条件に該当します。
たとえば以下のような配置で、TextBox1がCanGrowにより伸長した場合、TextBox3が存在するために、TextBox2の縦位置は調整されず、TextBox1はTextBox2に重なる形で出力されます。

上記のような配置で、TextBox2の縦位置を調整するには、該当するコントロール(上記の場合TextBox3)を、一時的に非表示にします。
具体的には、コントロールが配置されたセクションのFormatイベント内で、コントロールのVisibleプロパティをFalseにし、BeforePrintイベント内でTrueに戻します。
◆サンプルコード(VB.NET)
◆サンプルコード(C#)
なお、CanGrowプロパティによる高さの自動調整が有効となるのは、Formatイベント終了時に、VisibleプロパティがTrueに設定されているコントロールです。上記の場合、TextBox3の高さは調整されませんので、あらかじめご注意ください。
また、CanGrowプロパティによってコントロールの高さが伸長する場合、伸長前のコントロールの下端以下に配置されている他のコントロールの縦位置(Topプロパティ)は、伸長された高さに合わせて自動的に調整されます。

※CanGrow/CanShrinkプロパティによる高さの自動調整は、そのセクションのFormatイベント終了後、BeforePrintイベント発生前に行われます。
※Formatイベント終了時点で、VisibleプロパティがFalseに設定されているコントロールについては、高さの自動調整は行われません。
ただし、CanGrowプロパティによって高さが調整されるコントロールの下端より上に上端が、位置が調整されるコントロールの上端より下に下端があるコントロールが他に存在した場合、そちらとの位置関係が優先されるため、縦位置の調整は行われません。セクションの上端から下端まで縦線を出力するために、Lineコントロールを配置しているような場合には、こちらの条件に該当します。
たとえば以下のような配置で、TextBox1がCanGrowにより伸長した場合、TextBox3が存在するために、TextBox2の縦位置は調整されず、TextBox1はTextBox2に重なる形で出力されます。

上記のような配置で、TextBox2の縦位置を調整するには、該当するコントロール(上記の場合TextBox3)を、一時的に非表示にします。
具体的には、コントロールが配置されたセクションのFormatイベント内で、コントロールのVisibleプロパティをFalseにし、BeforePrintイベント内でTrueに戻します。
◆サンプルコード(VB.NET)
Private Sub Detail_Format(...) Handles Detail.Format
Me.TextBox3.Visible = False
End Sub
Private Sub Detail_BeforePrint(...) Handles Detail.BeforePrint
Me.TextBox3.Visible = True
End Sub
Me.TextBox3.Visible = False
End Sub
Private Sub Detail_BeforePrint(...) Handles Detail.BeforePrint
Me.TextBox3.Visible = True
End Sub
◆サンプルコード(C#)
private void Detail_Format(object sender, System.EventArgs eArgs)
{
this.TextBox3.Visible = false;
}
private void Detail_BeforePrint(object sender, System.EventArgs eArgs)
{
this.TextBox3.Visible = true;
}
{
this.TextBox3.Visible = false;
}
private void Detail_BeforePrint(object sender, System.EventArgs eArgs)
{
this.TextBox3.Visible = true;
}
なお、CanGrowプロパティによる高さの自動調整が有効となるのは、Formatイベント終了時に、VisibleプロパティがTrueに設定されているコントロールです。上記の場合、TextBox3の高さは調整されませんので、あらかじめご注意ください。
関連情報
旧文書番号
85350