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();
}