我想要製作一個小程序,它將選擇一個隨機線形成一個richtextbox並將其打印在標籤上。隨機分鐘'minValue'不能大於'maxValue'
我也試過製作一個計時器,它會在標籤停止前在標籤上顯示隨機線條。
但是當我運行它,它給了我此錯誤消息:
隨機分「minValue(最小值)」不能大於「包括maxValue」
這是我的代碼:
public partial class Form1 : Form
{
private int ran;
private int ranP;
private int max;
Random rnd = new Random();
public Form1()
{
InitializeComponent();
}
private void button1_Click_1(object sender, EventArgs e)
{
int max = richTextBox1.Lines.Count();
int ranP = rnd.Next(1, max);
int ran = 0;
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
label2.Text = "The Winner is: " + richTextBox1.Lines[ranP];
ran = rnd.Next(1, 11);
ranP = rnd.Next(1, max);
if(ran == 11){
timer1.Enabled = false;
}
}
}
在我的計時器中出現以下錯誤:
ranP = rnd.Next(1,max);
有誰知道爲什麼會發生這種情況?
錯誤信息清楚地解釋了什麼是錯的。 –
如果該框的行數爲0,則表示存在問題。特別是當你使用局部變量max來隱藏域max時,在這種情況下你的行數可以是任何東西,字段仍然是0. – flq
但是它怎麼能在第一次(當我點擊按鈕時)而不是在計時器? 它使用了相同的變量,列表沒有改變? –