读书人

c#有关问题(随机数)50分

发布时间: 2011-12-26 23:09:58 作者: rapoo

c#问题(随机数)50分
想产生一个随机数字,当打开界面,点击开始,数字开始不停的循环的动(就像选取幸运观众的手机号码一样那样),直到点击停止,就产生了一个随机数字,问:如何实现让数字‘动’的效果

[解决办法]
用Random类创建一个对象即可获取随机数。
[解决办法]

C# code
//拉一个Timer控件到窗体,一个Label,两个Button        Random rnd=new Random(unchecked((int)DateTime.Now.Ticks));//声明一个全局变量        private void timer1_Tick(object sender, System.EventArgs e)//添加Timer的Tick事件        {            this.label1.Text=rnd.Next(1,39).ToString();        }        private void btnStart_Click(object sender, System.EventArgs e)//开始按钮的Click事件        {            this.timer1.Start();        }        private void btnEnd_Click(object sender, System.EventArgs e)//结束按钮的Click事件        {            this.timer1.Stop();        }
[解决办法]
这个要用到线程,因为你要在数字滚动的时候还可以点击按钮..
[解决办法]
Random random = new Random();
List<int> old = new List<int>();
for (int i = 0; i < 35; i++)
{
int r = random.Next(1, 35);
while (old.Contains(r))
{
r = random.Next(1, 35);
}
old.Add(r);
lable.Text = r.ToString();
Thread.Sleep(1000);
}
old.Clear();

[解决办法]
很久很久以前做的一个双色球,拿出主要的给你看看
C# code
    private void timer2_Tick(object sender, System.EventArgs e)        {            Random a=new Random();            int i1=a.Next(1,33);            if(i1<10)            {                this.textBox1.Text="0"+i1.ToString();            }            else            {                this.textBox1.Text=i1.ToString();            }            int i2=a.Next(1,33);            if(i2<10)            {                this.textBox2.Text="0"+i2.ToString();            }            else            {                this.textBox2.Text=i2.ToString();            }            int i3=a.Next(1,33);            if(i3<10)            {                this.textBox3.Text="0"+i3.ToString();            }            else            {                this.textBox3.Text=i3.ToString();            }            int i4=a.Next(1,33);            if(i4<10)            {                this.textBox4.Text=")"+i4.ToString();            }            else            {                this.textBox4.Text=i4.ToString();            }            int i5=a.Next(1,33);            if(i5<10)            {                this.textBox5.Text="0"+i5.ToString();            }            else            {                this.textBox5.Text=i5.ToString();            }            int i6=a.Next(1,33);            if(i6<10)            {                this.textBox6.Text="0"+i6.ToString();            }            else            {                this.textBox6.Text=i6.ToString();            }            int i7=a.Next(1,16);            if(i7<10)            {                this.textBox7.Text="0"+i7.ToString();            }            else            {                this.textBox7.Text=i7.ToString();            }        }
[解决办法]
C# code
        private void button1_Click(object sender, EventArgs e)        {            timer1.Start();        }        private void timer1_Tick(object sender, EventArgs e)        {            Random r = new Random();            int t = r.Next(0, 100);            this.label1.Text = t.ToString();        }        private void button2_Click(object sender, EventArgs e)        {            timer1.Stop();        } 


[解决办法]

C# code
using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Threading;namespace TestForm{        public partial class Form1 : Form    {        private Thread thread = null;        private Random rnd = new Random();        private delegate void invokeMethod();        private invokeMethod func = null;        private string output = string.Empty;        public Form1()        {            InitializeComponent();            func = new invokeMethod(Output);        }        private void Output()        {            label1.Text = output;        }        private void ThreadFunc()        {            while(true)            {                output = rnd.Next(1, 100).ToString();                label1.BeginInvoke(func);                Thread.Sleep(300);            }        }        private void button1_Click(object sender, EventArgs e)        {            thread = new Thread(new ThreadStart(ThreadFunc));            thread.IsBackground = true;            thread.Start();        }        private void button2_Click(object sender, EventArgs e)        {            if(thread != null)            {                thread.Abort();            }        }    }}
[解决办法]
探讨
很久很久以前做的一个双色球,拿出主要的给你看看

C# code
private void timer2_Tick(object sender, System.EventArgs e)
{
Random a=new Random();
int i1=a.Next(1,33);
if(i1<10)
{
this.textBox1.Text="0"+i1.ToString();
}
else
{
this.textBox1.Text=i1.ToString();


[解决办法]
为什么不用时钟控件呢?我觉得很好啊
二楼的方法就不错,简洁方便
也可以通过设置Visual属性将2个按钮放在同一位置,这样感觉就是一个按钮

读书人网 >C#

热点推荐