文本未显示在文本框中

时间:2014-05-09 19:19:42

标签: c# winforms

每次打开createOrder表单时,

orderNo都会增加1。 orderNo中未显示textbox11我必须在文本框中输入内容才能自动更改为计数器。

public int orderNo;

private void textBox11_TextChanged(object sender, EventArgs e)
{
    textBox11.Text = Convert.ToString(orderNo);
}

编辑 - 将代码放入form_load,但一旦打开createOrder表单,计数器似乎不会更改。

2 个答案:

答案 0 :(得分:1)

原因是在用户(或其他代码段)更改其内容之前,文本框不会调用textBox_TextChanged。无论您在何处设置orderNo都应更新文本。做类似以下的事情

private int orderNo;
public int OrderNo
{
    get { return this.orderNo; }
    set { this.orderNo = value; textBox11.Text = Convert.ToString(orderNo); }
}

然后在您的代码中,在您设置orderNo的任何位置,将其更改为使用OrderNo通过属性进行设置。

答案 1 :(得分:0)

如果你想在Load_Form event添加:

上创建你想要的功能,Josh是正确的
textBox11.Text = Convert.ToString(orderNo);

或添加第二个textbox并设置:

textBox2.Text=orderNo.ToString();
textBox2.Visible=False;
private void textBox2_TextChanged(object sender, EventArgs e)
{
    textBox11.Text = Convert.ToString(orderNo);
}