- ベストアンサー
ラベル表示の桁をそろえたいです。
Dim FileLen as long にあるファイルの容量を代入して、 ラベルに表示するために、 Label1.Text = FileLen & "バイト" としているのですが、 これだと、表示が 「100バイト 」になったり 「1000000000000バイト」になったり、「バイト」の位置が 動いてしまいます。 「100 バイト」「1000000000000バイト」になるように 「バイト」の位置を固定したいのですが、 ラベルを複数に分けないで実現する方法がありましたら、 教えて頂けないでしょうか。 宜しくお願い致します。 環境はVB.NET+Framework1.1です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
String型の PadLeft/PadRightメソッドなどがお役に立つと思います Label1.Text = FileLen.ToString.PadRight(13," ") & "バイト" といった具合に使います PadLeft/PadRightの単に空白で埋めるのでしたら引数一つの Label1.Text = FileLen.ToString.PadRight(13) & "バイト" といった具合でも良いですよ 引数の数字は最終的に出来上がる文字列の長さになります # もともとの文字列がこの引数より長いときは空白の追加は # 実行されません
その他の回答 (1)
- dameryman
- ベストアンサー率35% (24/68)
あまりスマートではないですが・・・ ファイル容量の桁数を判別する分岐を作って桁が少ないようならその分スペースを追記するようにすればよいのでは? Select Case FileLen case < 10 Label1.Text = FileLen & "スペース9個" & "バイト" case < 100 Label1.Text = FileLen & "スペース8個" & "バイト" case < 1000 Label1.Text = FileLen & "スペース7個" & "バイト" 以下略 みたいな。スペースの数は適宜調整していただくとして・・・ VBあんまり詳しくないんで文法間違ってたらすみません。
お礼
お返事ありがとうございます。 私的にはこちらの方法も分かりやすくて気に入ったのですが、 今回はPadLeft/PadRightの方法でやってみたいと思います。 ご回答ありがとうございました。
お礼
ご回答ありがとうございます。 とても便利ですね。 良い方法を教えて頂きありがとうございました。