我有一个 winform,其中有一个最多可容纳 14 个数字的文本框。现在,如果用户输入少于 14,我必须用 0 填充其余字段。例如。如果用户有 10 个数字,我必须再包含 4 个 0 才能使其成为 14。
问问题
153 次
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 回答