c# 简单摇号器实现,自定义摇号范围与选号个数
1、建立c#窗体应用程序并设计窗口外观如下
2、建立摇号随机函数,代码如下
public int[] getRandomNum(int num, int minvlaue, int maxvlane){Random ra = new Random(unchecked((int)DateTime.Now.Ticks));int[] arrNum = new int[num];redo: int temp = 0;for (int i = 0; i < num - 1; i++){temp = ra.Next(minvlaue, maxvlane);arrNum[i] = getNum(arrNum, temp, minvlaue, maxvlane, ra);}for (int m = 0; m < arrNum.Length; m++)for (int n = m+1; n < arrNum.Length; n++){if (arrNum[m] == arrNum[n])goto redo;}return arrNum;}//判断产生的随机数是否有重复数出现public int getNum(int[] arrNum, int temp, int minvlaue, int maxvlane, Random ra){for (int n = 0; n <= arrNum.Length - 1; n++){if (arrNum[n] == temp){temp = ra.Next(minvlaue, maxvlane);getNum(arrNum, temp, minvlaue, maxvlane, ra);}}return temp;}
2、“摇号”按钮的功能(调用函数)
private void button1_Click(object sender, EventArgs e) //button1是指的“摇号”这个按钮{int a = int.Parse(numericUpDown1.Value.ToString()); //获取选号个数int b= int.Parse(numericUpDown2.Value.ToString()); //获取选号范围最大值int[] result = new int[b]; //新建一个int数组获取随机数result = getRandomNum(b, 0, a);for (int i = 0; i < result.Length; i++){textBox1.Text +=result[i].ToString()+" ";}}
3、“退出”按钮的功能
private void button2_Click(object sender, EventArgs e){this.Close();}