C# 要在文本框中显示的随机数生成器

C# 要在文本框中显示的随机数生成器,c#,random,numbers,generator,C#,Random,Numbers,Generator,我有点被我正在做的事情卡住了。。我有一个windows窗体应用程序,它有不同的按钮,每个按钮应该做不同的事情。现在我的问题是: 在一个按钮上,当我按下它时,它会生成随机数(例如0-1000),并在一个文本框中显示该数字,我在程序中也有这个文本框。我尝试在按钮上执行以下代码: private void button5_Click(object sender, EventArgs e) { Random slumpGenerator = new Random(); int tal;

我有点被我正在做的事情卡住了。。我有一个windows窗体应用程序,它有不同的按钮,每个按钮应该做不同的事情。现在我的问题是:

在一个按钮上,当我按下它时,它会生成随机数(例如0-1000),并在一个文本框中显示该数字,我在程序中也有这个文本框。我尝试在按钮上执行以下代码:

private void button5_Click(object sender, EventArgs e)
{
    Random slumpGenerator = new Random(); int tal; 
    tal = slumpGenerator.Next(); 
}

但不幸的是,文本框上没有显示数字。我想这可能是因为我没有提到数字应该显示在我的文本框上,有什么想法吗?

当然,你没有在文本框上设置任何属性。您正在忽略新生成的随机数。你需要一些类似的东西:

Random slumpGenerator = new Random();
// Or whatever limits you want... Next() returns a double
int tal = slumpGenerator.Next(0, 100);
textBox.Text = tal.ToString();
请注意,一般来说,创建许多
随机
实例是一个不好的主意-但这并不像将其设置为
静态
变量那么简单。。。有关更多详细信息,请参阅我的。还要注意,我是如何修改代码的,在一条语句中声明一个变量并为其赋值的——这通常比在一条语句中声明然后为其赋值更可取

private void button5_Click(object sender, EventArgs e)
{
    Random slumpGenerator = new Random(); 
    int tal = slumpGenerator.Next(0, 1000); 
    txtBxName.Text = tal.ToString();
}
  • 您需要向“Random.Next()方法”添加最小值和最大值
  • 您没有在任何地方设置文本框文本值

  • 可以考虑<代码> RNGCryptoServiceProvider > />代码>强>线程安全< /强>类(<代码> Security .Security <密码> >命名空间),这是由密码服务提供者提供的实现的加密随机数生成器(RNG)。< /P> 实现比使用

    System.Random
    类要困难一些

    示例实现如下所示:


    您可以阅读更多关于
    RNGCryptoServiceProvider
    的问题:

    您需要在代码中添加一些内容。这是你想要的全部代码

    private void button5_Click(object sender, EventArgs e)
    {
        Random slumpGenerator = new Random(); int tal;
        tal = slumpGenerator.Next(0, 1000);
        textBox.Text = tal.ToString();
    }
    
    您必须设置希望它生成的最小值和最大值。您还必须将最小值1设置为低于您真正想要生成的值。i、 e.如果您想生成一个介于10和20之间的数字,您需要将最小值设置为9,将最大值设置为20

    您还需要将该值放入文本框等,以显示该值。由于它是一个int,并且textbox的文本是
    字符串
    格式,因此需要将其转换为
    字符串
    ,方法是将其放在代码末尾:
    .ToString()

    我知道这个答案已经晚了,但它可能会帮助你以后

                           **Random Number Generation in C#.Net**
    
    在编写代码之前添加两个名称空间

    *使用系统安全

    使用System.Security.Cryptography*

    代码:

    复制并将以下代码放置在按钮内

    RNGCryptoServiceProvider xx = new RNGCryptoServiceProvider();
    byte [] random_number=new  byte [512];
    xx.GetBytes(random_number);
    foreach (var i in random_number)
    {
        textBox1.Text = i.ToString();
    }
    

    有关c#.net中的更多详细信息,请参阅我的blogspot:mbtangamalai.blogspot。在

    中,您生成一个数字,但不会将数字(作为字符串)影响到TextBox的“Text”属性。我认为一个好的初学者编程课程已经准备好了。。。
    RNGCryptoServiceProvider xx = new RNGCryptoServiceProvider();
    byte [] random_number=new  byte [512];
    xx.GetBytes(random_number);
    foreach (var i in random_number)
    {
        textBox1.Text = i.ToString();
    }