vb.net 多次滚动抽奖的程序代码

vb.net 多次滚动抽奖的程序代码,第1张

我用多线程写的,你可以参考下。

系统界面图如下:(注:重置功能为清除已经中奖号码,回归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人,抽奖说明),看到发起新抽奖

请点击输入图片描述

点击发起新抽奖,如下图,看到我知道了,确认发起

请点击输入图片描述

点击我知道了,确认发起,如下图,看到发送抽奖邀请,看到参与抽奖

请点击输入图片描述


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12013278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存