0
    public void AutoBillNo()
    {
        int billno = 0;
        billno++;
        txtBillNo.Text = Convert.ToString(Convert.ToInt64(txtBillNo.Text) + 1);
    }


    private void Bill_Load(object sender, EventArgs e)
    {            
       AutoBillNo();
    }

它工作正常,但重新运行 winform 文本框后显示
1 。它不会在文本框中显示增加值。我该怎么办?

4

3 回答 3

1

你永远不会使用 billno。您总是从文本框中获取值。

我会做以下事情:

private static int billno = 1;
public void AutoBillNo()
{
     txtBillNo.Text = billno.ToString();
     ++billno;
}

但是请注意,如果您重新启动程序,则 billno 再次为 1...如果您需要保留 billno,则必须将其存储在某个地方。

于 2013-03-28T05:57:48.893 回答
1

这是因为这段代码中的变量 billno 没有赋值给文本框。

当您重新运行相同的 txtBillNo.Text 再次初始化为零。

int billno = 0;
billno++;
txtBillNo.Text = Convert.ToString(Convert.ToInt64(txtBillNo.Text) + 1);`

这应该是

 static int billno = 0;
 billno++;
 txtBillNo.Text = Convert.ToString(bilno);
于 2013-03-28T05:54:17.767 回答
1

使您的 billno 成为全局变量(将
int billno = 0; 移出方法)。现在您在每次运行时创建它。

于 2013-03-28T05:49:33.587 回答