0
誰も私は大学でコースをやっていて、特定の問題の解決策を見つけるのに苦労しています。私は開始時に乱数を生成するウィンドウとシーケンス(ボタンが押された時)を持っています。問題はシーケンス中に同じ5つの数字が表示され、5つの異なる数字が表示されるはずです。それらは単一の数字のように無作為に生成されます。乱数を表示しない
using System;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace RandomNumbers
{
public partial class frmRandomNumberGenerator : Form
{
private bool generate = true;
public frmRandomNumberGenerator()
{
InitializeComponent();
}
private string GenerateNumber(int min, int max)
{
return new Random().Next(min, max).ToString();
}
private void ToggleControls()
{
btnStart.Enabled = !generate;
tcRandomNumbers.Enabled = !generate;
txtRangeMin.Enabled = !generate;
txtRangeMax.Enabled = !generate;
btnStop.Enabled = generate;
}
private async void btnStart_Click(object sender, EventArgs e)
{
if(string.IsNullOrEmpty(txtRangeMin.Text) || string.IsNullOrEmpty(txtRangeMax.Text))
{
MessageBox.Show("Invalid range!");
return;
}
int min = 0;
int max = 0;
bool result = int.TryParse(txtRangeMin.Text, out min);
if (result) result = int.TryParse(txtRangeMax.Text, out max);
if (result) result = max > min;
if (!result)
{
MessageBox.Show("Invalid range!");
return;
}
generate = true;
ToggleControls();
while (true)
{
if (!generate) break;
if (tcRandomNumbers.SelectedIndex == 0)
{
lblSingleResult.Text = GenerateNumber(min, max);
}
else
{
lblSequenceFirst.Text = GenerateNumber(min, max);
lblSequenceSecond.Text = GenerateNumber(min, max);
lblSequenceThird.Text = GenerateNumber(min, max);
lblSequenceFourth.Text = GenerateNumber(min, max);
lblSequenceFifth.Text = GenerateNumber(min, max);
}
await Task.Delay(TimeSpan.FromSeconds(1));
}
}
private void btnStop_Click(object sender, EventArgs e)
{
generate = false;
ToggleControls();
}
}
}