我用多线程写的,你可以参考下。
系统界面图如下:(注:重置功能为清除已经中奖号码,回归1-100都可以中奖状态。)
代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent()
}
System.Threading.Thread g_Thread = null
List<int> g_list = new List<int>()
int g_Num = 0
delegate void g_delegate()
/// <summary>
/// 开始
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
if(g_list.Count==100)
{
MessageBox.Show("所有数字已使用,请重置!")
return
}
button3.Enabled = true
Random r = new Random()
g_delegate dele= ChangeTxt
g_Thread = new System.Threading.Thread(() =>
{
while(this.IsDisposed==false)
{
g_Num = r.Next(1, 100)
if(g_list.Contains(g_Num))
{
g_Num = 1
}
while(g_list.Contains(g_Num))
{
g_Num++
}
this.Invoke(dele)
System.Threading.Thread.Sleep(50)
}
})
g_Thread.Start()
}
void ChangeTxt()
{
label2.Text = g_Num.ToString()
}
/// <summary>
/// 停止
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e)
{
//if(g_Thread.ThreadState==System.Threading.ThreadState.Running)
{
g_Thread.Abort()
g_list.Add(Convert.ToInt32(label2.Text))
}
button3.Enabled = false
}
/// <summary>
/// 重置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
g_list.Clear()
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
System.Environment.Exit(0)
}
}
/// <summary>/// 产生随机数
/// </summary>
/// <returns></returns>
public string GenerateCheckCode()
{
int number
char code
string checkCode = String.Empty
//生成随机生成器
Random random = new Random()
for (int i = 0i <4i++)
{
number = random.Next()
code = (char)('0' + (char)(number % 10))
checkCode += code.ToString()
}
HttpContext.Cache.Insert("CheckCode", checkCode.ToLower())
return checkCode
}
方法/步骤
看到微信,如下图,看到打开
打开微信,如下图,看到微信
请点击输入图片描述
点击发现,如下图,看到小程序
请点击输入图片描述
点击小程序,如下图,看到抽奖助手(点击搜索,输入抽奖助手)
请点击输入图片描述
点击抽奖助手,如下图,(再次点击抽奖助手),看到发起抽奖
请点击输入图片描述
点击发起抽奖,如下图,看到(输入奖品名称,奖品分数,开奖的条件设置为按人数自动开奖,开奖人数为5人,抽奖说明),看到发起新抽奖
请点击输入图片描述
点击发起新抽奖,如下图,看到我知道了,确认发起
请点击输入图片描述
点击我知道了,确认发起,如下图,看到发送抽奖邀请,看到参与抽奖
请点击输入图片描述
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)