генератор случайных чисел, который будет показан на текстовом окне

Я отчасти застреваю на вещи, я продолжаю работать.. У меня есть приложение форм окон с различными кнопками, и каждая кнопка, как предполагается, делает другую вещь. Теперь моя проблема:

На одной кнопке, когда я нажимаю его, это должно произвести случайные числа (0-1000, например) и показать число в textbox, который я также имею на программе. Я пытался сделать этот код по кнопке:

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

Но к сожалению, никакое число не показано на текстовом окне. И я думаю, что это могло быть, потому что я не отослал это, числа должны показать на моем textbox, каких-либо идеях?

2
Я думаю хороший beginner' s программирование курса в порядке...
добавлено автор Roy Dictus, источник
Вы производите число, но вас don' t затрагивают число (как последовательность) к "текстовой" собственности вашего textbox
добавлено автор ken2k, источник

5 ответы

Хорошо уверенный - вы не устанавливаете свойств на своем текстовом окне. Вы игнорируете свое недавно произведенное случайное число. Вам было бы нужно что-то как:

Random slumpGenerator = new Random();
// Or whatever limits you want... Next() returns a double
int tal = slumpGenerator.Next(0, 100);
textBox.Text = tal.ToString();

Обратите внимание, что в целом это - плохая идея создать многих , Случайный случаи - но это не столь просто как создание его , статичный , переменная... видит мой статья о хаотичности для получения дополнительной информации. Также отметьте, как я изменил код, чтобы объявить переменную и назначить ему стоимость в отдельном операторе - это вообще предпочтительно для объявления в одном заявлении и затем назначения его стоимость позже.

6
добавлено

Можно рассмотреть RNGCryptoServiceProvider ориентированный на многопотоковое исполнение класс ( Система. Безопасность. Криптография пространство имен), который является шифровальным Генератором случайных чисел (RNG), используя внедрение, обеспеченное шифровальным поставщиком услуг.

Внедрение немного более трудное, чем использование Система. Случайный класс.

Типовое внедрение следующие:

using System.Security.Cryptography;
...

private RNGCryptoServiceProvider rnd = new RNGCryptoServiceProvider();

private int NextInt32(int maxValue)
{
    byte[] intBytes = new byte[4];
    rnd.GetBytes(intBytes);
    return Math.Abs(BitConverter.ToInt32(intBytes, 0)) % maxValue + 1;
}

// And your method with textBox
private void button5_Click(object sender, EventArgs e)
{
    textBox.Text = NextInt32(1000).ToString(); 
}

You can read more on RNGCryptoServiceProvider in SO question: Pros and cons of RNGCryptoServiceProvider

1
добавлено
private void button5_Click(object sender, EventArgs e)
{
    Random slumpGenerator = new Random(); 
    int tal = slumpGenerator.Next(0, 1000); 
    txtBxName.Text = tal.ToString();
}
  1. необходимо добавить miniumum и максимум к "Случайному".Next() метод.
  2. Вы не устанавливаете textboxes текстовое значение нигде.
1
добавлено

Необходимо добавить несколько вещей к коду. Вот код fulll для того, что вы хотите...

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

Необходимо установить минимум и стоимость maximun, которую вы хотите, чтобы он произвел. Также необходимо поместить минимальное значение 1 ниже того, что вы действительно хотите произвести. т.е. если бы вы хотите произвести число между 10 и 20, необходимо было бы поместить минимальное значение в 9 и максимальное значение к 20.

You also need to put the value into a textbox, etc, to show it. Since it is an int, and textbox's text is in a String format, you will need to convert it to a String by putting this at the end of your code: .ToString()

Я знаю, что этот ответ поздний, но он мог бы быть в состоянии помочь вам позже!

1
добавлено
                       **Random Number Generation in C#.Net**

Добавляют два пространства имен, прежде чем вы напишете код

*использование Системы. Безопасность;

использование Системы. Безопасность. Криптография; *

Кодекс:

Скопируйте и поместите следующий код в кнопке

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: mbthangamalai.blogspot.in

1
добавлено
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot