我有一个winform,我有一个最多需要14个数字的文本框。现在,如果用户输入少于14,我必须使用0填充其余字段。例如。如果用户10编号,我必须包括4个0以使其成为14。
答案 0 :(得分:4)
将文本框的MaxLength
属性更改为14.获得Text
属性后,使用{{3}上的PadLeft
或PadRight
方法}。class。
示例强>
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"
您可能还想考虑使用String
类。
答案 1 :(得分:0)
textbox.TextChanged += new EventHandler( textbox_TextChanged );
private textbox_TextChanged(Object sender, EventArgs e) {
textbox.Text = textbox.Text.PadLeft(14, '0');
}
答案 2 :(得分:0)
如果您使用数据绑定,并且如果您只想在文本框的显示中添加数字而不是在基础数据源中,则可以在创建自己的文本框衍生时使用标准.net格式,如所述{{ 3}}。可能会派上用场。