0

我有一个 winform,其中有一个最多可容纳 14 个数字的文本框。现在,如果用户输入少于 14,我必须用 0 填充其余字段。例如。如果用户有 10 个数字,我必须再包含 4 个 0 才能使其成为 14。

4

3 回答 3

4

将文本框的属性更改MaxLength为 14。获得Text属性后,使用类上的PadLeft、 或PadRight方法String

例子

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 回答