我刚刚在uni学习C#并且似乎正在努力将这个随机数放到文本框中。如果这是一个简单的问题,我在此之前就已经学会了一种语言,所以道歉。
我想在用户指定的两个不同数字之间创建5个随机数。然后将生成的5个数字打印到文本框中以显示它们。
private void button1_Click(object sender,EventArgs e) {
int firstnum = Int32.Parse(txtboxnum.Text);
int secondnum = Int32.Parse(txtboxnum2.Text);
Random random = new Random();
int randomNumber = random.Next(firstnum, secondnum);
Int32 loop = 0;
do
{
loop++;
}
while (loop > 5);
string myString = randomNumber.ToString();
string txtboxanswer = myString;
我非常感谢任何我出错的建议。因为我似乎无法得到答案出现在我的文本框中。我知道我必须亲近。我希望:))
提前感谢您的帮助。
答案 0 :(得分:1)
你足够近了。只需对代码进行最少的编辑,就应该像这样
int firstnum = Int32.Parse(txtboxnum.Text);
int secondnum = Int32.Parse(txtboxnum2.Text);
Random random = new Random();
Int32 loop = 0;
do
{
int randomNumber = random.Next(firstnum, secondnum);
string myString = randomNumber.ToString();
TextBox t= new TextBox();
t.Text=myString;
t.Left=0;t.Top=loop * 20;
this.Controls.Add(t);
loop++;
}
while (loop < 5);
有关动态添加控件的详情check this
答案 1 :(得分:1)
int firstnum = 0;
int secondnum = 1;
Random random = new Random();
int[] randomnums = new int[5];
for (int i = 0; i < randomnums.Length; i++)
{
randomnums[i] = random.Next(firstnum, secondnum);
}
然后你可以做类似
的事情string myString = randomnums[1].ToString()
获取特定数字的字符串表示形式。
答案 2 :(得分:0)
试试这个:
Random rand = new Random();
for (int i = 0; i < 5; i++)
{
int a = rand.Next(Min, Max);
textBox1.Text = textBox1.Text + string.Format(" {0} ", a.ToString());
}
答案 3 :(得分:0)
你走在正确的轨道上,我认为你唯一缺少的是将字符串分配给文本框。只需放置另一个文本框(让我们说answertxtbox)并在循环结束时写下以下内容:
answertxtbox.Text += txtboxanswer + ", ";
答案 4 :(得分:0)
简单地说,您没有将Text
的{{1}}属性设置为结果。
TextBox
答案 5 :(得分:0)
因为每个人似乎都在回答......
int firstnum = Int32.Parse(txtboxnum.Text);
int secondnum = Int32.Parse(txtboxnum2.Text);
Random random = new Random();
List<int> results = new List<int>();
for (int i =0; i < 5; i++)
{
results.Add(random.Next(firstnum, secondnum));
}
answertxtbox.Text = String.Join(",", Array.ConvertAll<int, String>(results.ToArray(), Convert.ToString));
注意:我实际上并不是这样做的,但它确实说明了解决同样问题的方法有很多种。