Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在c#winform中用0(零)填充字符串的空字段?_C#_Winforms_String - Fatal编程技术网

在c#winform中用0(零)填充字符串的空字段?

在c#winform中用0(零)填充字符串的空字段?,c#,winforms,string,C#,Winforms,String,我有一个winform,其中有一个文本框,最多可容纳14个数字。现在,如果用户输入少于14,我必须用0填充其余字段。例如,如果用户10个数字,我必须再加4个0,使其成为14。将文本框的属性更改为14。在获得类的属性、使用、或方法之后 textbox.TextChanged += new EventHandler( textbox_TextChanged ); private textbox_TextChanged(Object sender, EventArgs e) { textbo

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

将文本框的属性更改为14。在获得类的属性、使用、或方法之后

textbox.TextChanged += new EventHandler( textbox_TextChanged );

private textbox_TextChanged(Object sender, EventArgs e) {
    textbox.Text = textbox.Text.PadLeft(14, '0');
}
示例

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"
var value=“abcd”;
var leftPadded=value.paddleft(14,'0');// 将文本框的属性更改为14。在获得类的属性、使用、或方法之后

示例

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"
var value=“abcd”;

var leftPadded=value.paddleft(14,'0');// 如果使用数据绑定,并且只想在文本框的显示中添加数字,而不想在基础数据源中添加数字,则可以在创建自己的文本框派生时使用标准.net格式,如下所述。可能会派上用场。

如果您使用数据绑定,并且只想在文本框的显示中添加数字,而不想在基础数据源中添加数字,则可以在创建自己的文本框派生时使用标准.net格式,如前所述。可能会派上用场。

左侧或右侧有更多的0?左侧或右侧有更多的0?这应该在文本框的
textchanged
事件中使用?我已经在文本框的textchanged事件
var text=atxt.text;var right=text.PadRight(14,'0')但我没有在我的string@Drone好问题。如果在
TextChanged
事件的处理程序中执行此代码,则只要键入1个字符或退格1个字符,文本就会被替换为14个字符的版本。我不会在
TextChanged
处理程序中执行它,而是在一个失去焦点的事件处理程序中执行:
Leave
LostFocus
@Drone确保将文本框的
text
属性重新分配给已填充的字符串。@Drone您需要将新字符串分配回文本框。所以你有两行,加上
atxt.Text=right。或者,如果您想在一行中完成所有三个步骤:
atxt.Text=atxt.Text.PadRight(14,'0')
。这应该在文本框的
textchanged
事件中使用?我已经在文本框的textchanged事件
var text=atxt.text;var right=text.PadRight(14,'0')但我没有在我的string@Drone好问题。如果在
TextChanged
事件的处理程序中执行此代码,则只要键入1个字符或退格1个字符,文本就会被替换为14个字符的版本。我不会在
TextChanged
处理程序中执行它,而是在一个失去焦点的事件处理程序中执行:
Leave
LostFocus
@Drone确保将文本框的
text
属性重新分配给已填充的字符串。@Drone您需要将新字符串分配回文本框。所以你有两行,加上
atxt.Text=right。或者,如果您想在一行中完成所有三个步骤:
atxt.Text=atxt.Text.PadRight(14,'0')