0

最大14個の数字を受け取るテキストボックスがあるWinFormがあります。ここで、ユーザーが14未満を入力した場合、残りのフィールドに0を入力する必要があります。例えば。ユーザーが10の数字を付けた場合、14にするためにさらに4つの0を含める必要があります。

4

3 に答える 3

4

MaxLengthテキストボックスのプロパティを14に変更します。プロパティを取得したら、クラスの、、、またはメソッドをText使用します。PadLeftPadRightString

void textBox_LostFocus(object sender, EventArgs e)
{
    var text = this.textBox.Text;
    text = text.PadLeft(14, '0');

    this.textBox.Text = text;
}

結果

var value = "abcd";
var leftPadded = value.PadLeft(14, '0'); // <- "0000000000abcd"
var rightPadded = value.PadRight(14, '0'); // <- "abcd0000000000"

MaskedTextBoxクラスの使用を検討することもできます。

于 2012-09-25T05:35:31.913 に答える
0

データバインディングを使用していて、基になるデータソースではなくテキストボックスの表示に数値を追加したい場合は、ここで説明するように、独自のテキストボックス派生物を作成するときに標準の.net形式を使用できます。重宝するかもしれません。

于 2012-09-25T05:48:21.157 に答える
0
textbox.TextChanged += new EventHandler( textbox_TextChanged );

private textbox_TextChanged(Object sender, EventArgs e) {
    textbox.Text = textbox.Text.PadLeft(14, '0');
}
于 2012-09-25T05:35:11.090 に答える