Alignment(TextAlign)プロパティでテキストの水平位置を設定する時、文字列の最後のスペースが無視される
対象製品
ActiveReports for .NET 7.0J
詳細
こちらの動作は、ActiveReports for .NETのTextBoxやLabelコントロールの仕様となります。
TextBoxやLabelコントロールには、コントロール内の文字列の水平位置を設定するために、以下のようなプロパティを用意しています。
セクションレポートの場合:Alignmentプロパティ
ページレポートの場合 :TextAlignプロパティ
これらのプロパティによってテキストの水平位置を変更する時、文字列の最後にあるスペース文字は無視されます。
例えば、"あいう "という文字列を、右揃えに設定したTextBoxコントロールに表示させた場合、コントロールの右端から"あいう"と表示されます。
| あいう |←このようには表示されません。
| あいう|←このように表示されます。
また、" あいう "という文字列を、中央揃えに設定したTextBoxコントロールに表示させた場合、" あいう"という文字列を中央揃えした時の同じ状態で表示されます。
これは.NET Framework標準のLabelコントロールなどと同様の動作であり、この動作を無効にするような機能は、特に用意されておりません。
代替案としては、テキストの水平位置を"左揃え"に設定し、文字列の頭にスペースを挿入する方法が考えられます。
たとえば、StringクラスのPadLeftメソッドを使用することで、指定した文字数になるように先頭にスペースを挿入することが可能です。
以下のサンプルコードは、セクションレポートにおいて、全体として8文字になるように全角スペースを挿入する場合のコードです。
◆サンプルコード(VB.NET)
◆サンプルコード(C#)
ページレポートの場合は、Valueプロパティに以下のような式を設定してください。
◆式
なお、上記のようにスペース文字によって出力桁位置を調整する場合には、プロポーショナルフォントではなく、固定ピッチフォントを指定することをお勧めいたします。
TextBoxやLabelコントロールには、コントロール内の文字列の水平位置を設定するために、以下のようなプロパティを用意しています。
セクションレポートの場合:Alignmentプロパティ
ページレポートの場合 :TextAlignプロパティ
これらのプロパティによってテキストの水平位置を変更する時、文字列の最後にあるスペース文字は無視されます。
例えば、"あいう "という文字列を、右揃えに設定したTextBoxコントロールに表示させた場合、コントロールの右端から"あいう"と表示されます。
| あいう |←このようには表示されません。
| あいう|←このように表示されます。
また、" あいう "という文字列を、中央揃えに設定したTextBoxコントロールに表示させた場合、" あいう"という文字列を中央揃えした時の同じ状態で表示されます。
これは.NET Framework標準のLabelコントロールなどと同様の動作であり、この動作を無効にするような機能は、特に用意されておりません。
代替案としては、テキストの水平位置を"左揃え"に設定し、文字列の頭にスペースを挿入する方法が考えられます。
たとえば、StringクラスのPadLeftメソッドを使用することで、指定した文字数になるように先頭にスペースを挿入することが可能です。
以下のサンプルコードは、セクションレポートにおいて、全体として8文字になるように全角スペースを挿入する場合のコードです。
◆サンプルコード(VB.NET)
Private Sub Detail_Format(...) Handles Detail.Format
Me.TextBox1.Text = Me.TextBox1.Text.PadLeft(8, " "c)
End Sub
Me.TextBox1.Text = Me.TextBox1.Text.PadLeft(8, " "c)
End Sub
◆サンプルコード(C#)
private void Detail_Format(object sender, EventArgs e)
{
this.textBox1.Text = this.textBox1.Text.PadLeft(8, ' ');
}
{
this.textBox1.Text = this.textBox1.Text.PadLeft(8, ' ');
}
ページレポートの場合は、Valueプロパティに以下のような式を設定してください。
◆式
=Fields!FieldName.Value.ToString().PadLeft(8," "c)
なお、上記のようにスペース文字によって出力桁位置を調整する場合には、プロポーショナルフォントではなく、固定ピッチフォントを指定することをお勧めいたします。
関連情報
キーワード
問題 デザイン・レイアウト