c#一个解决方案中多个形式的随机数生成器
本文关键字:随机数生成器 解决方案 一个 | 更新日期: 2023-09-27 18:25:59
我对编程很陌生,我正在Visual Studio中为学校做一个项目,但我有点停滞不前。我的解决方案中有多个表单。我的一个表单是发票,当点击上一个表单上的结账按钮时,我正试图创建一个发票编号。我在textBox字段中有以下代码,我想显示我的号码,但该号码没有显示在textBox中。请帮忙!!
private void txtBoxInvoiceNo_TextChanged(object sender, EventArgs e)
{
Random rndNo = new Random();
int invoiceNo = rndNo.Next(1, 500);
txtInvoiceNo.Text = invoiceNo.ToString();
}
可能需要在这里看到更多的代码,但从您所显示的内容来看,这表明您正在生成txtBoxInvoiceNo的textChanged事件的发票编号。当该框中的文本发生更改时,将触发此事件。不在创建表单时。
我的建议是在窗体的构造中调用一个函数。您编写的代码应该可以工作,只需要在正确的位置调用它。
我假设你在写winforms,但类似于:
public MyForm()
{
InitializeComponent();
GenerateInvoiceNumber();
}
private void GenerateInvoiceNumber()
{
Random rndNo = new Random();
int invoiceNo = rndNo.Next(1, 500);
txtInvoiceNo.Text = invoiceNo.ToString();
}
您可以稍后将其重构为静态或扩展方法,以便它可以由多个窗体使用,但调用应该在构造函数中进行,而不是在文本框更改事件中进行。
如果你想在多个表单上使用一些东西,最好添加一个Class
并编写一个返回整数的方法。参考以下样品
Public class GenerateNumber
{
public static int GetRandomNo()
{
Random rndNo = new Random();
int invoiceNo = rndNo.Next(1, 500);
return invoiceNo;
}
}
然后你可以制作类的对象,并在所需的表单上调用这个函数
GenerateNumber randomNo = new GenerateNo();
txtInvoiceNo.Text = randomNo.GetRandomNo().ToString()