WinForm+C#小案例--->年会抽奖人名小程序

C#实验一个简单的抽奖程序 抽奖程序实现以下功能: 1、文本框中姓名快速自动切换; 2、按任意键停止切换,再按任意键继续切换,先选出三等奖获得者,依次二等奖获得者、一等奖获得者; 3、不能重复获奖; 4、单击窗体重新开始抽奖。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; 阅读详情
创建 Winform 项目并设计界面

编写代码实现切换逻辑
using System;
using System.Threading;
using System.Windows.Forms;

namespace _02_多线程传参案例
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            // 关闭跨线程访问
            Control.CheckForIllegalCrossThreadCalls = false;
        }
        // 抽奖名字列表
        string[] names = { "王五", "赵六", "孙七", "周八", "吴九", "郑十", "钱一", "冯二", "陈三", "褚四", "卫五", "蒋六", "沈七", "韩八", "杨九", "朱十", "秦一", "尤二", "许三", "何四" };
        
        // 保存抽奖线程的变量
        private Thread thread;
        // 创建随机对象
        Random random = new Random();

        // 定义一个线程的“开关”(true=运行,false=停止)
        private bool flag = false;

        // 开始抽奖
        private void button1_Click(object sender, EventArgs e)
        {
            if (!flag)
            {
                // 新建线程,指定执行ShowNames方法,并传入names数组作为参数
                thread = new Thread(ShowNames);
                thread.Start(names);
                button1.Text = "停止"; // 按钮文本改成“停止”
                flag = true; // 打开线程开关
            }
            else
            {
                button1.Text = "开始抽奖"; // 按钮文本改回“开始”
                flag = false; // 关闭线程开关(线程会自动退出循环)
            }
        }
        // 线程执行的方法:循环刷新Label显示名字
        private void ShowNames(object obj)
        {
            // 将传入的参数转为string[]类型
            string[] names = obj as string[];
            while (true)
            {
                // 开关等于false
                if (!flag)
                {
                    break;
                }
                // 从数组中随机抽取三个人名
                string name1 = "";
                string name2 = "";
                string name3 = "";
                while (true)
                {
                    name1 = names[random.Next(names.Length)];
                    name2 = names[random.Next(names.Length)];
                    name3 = names[random.Next(names.Length)];
                    if (!name1.Equals(name2) && !name1.Equals(name3) && !name2.Equals(name3))
                    {
                        break;
                    }
                }
                // 赋值
                label1.Text = name1;
                label2.Text = name2;
                label3.Text = name3;
                Thread.Sleep(188);
            }
        }

        // 窗口关闭事件
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (thread != null)
            {
                thread.Abort();// 终止
            }
        }
    }
}
测试演示

希望对大家有所帮助。感谢大家的关注和点赞。

C#实现2024年年会抽奖小程序,炫酷霹雳闪 Messenger.Default.Send(“特等”, “showResultGrade”);Messenger.Default.Send(“加抽”, “showResultGrade”);Messenger.Default.Send(“一等”, “showResultGrade”);Messenger.Default.Send(“四等”, “showResultGrade”); 阅读详情

相关推荐

C#实现抽奖程序 (附完整源码)

C#实现抽奖程序 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 854

如何用C#中的Windows窗体写一个抽奖小程序。

一、使用工具。 1.Visual Studio2017(我用的是2017,不去讨论其他版本了)。 2.Windows窗体中的工具:Button、Label、Timer。 二、简单介绍三个工具的作用。 1.Button:用来作按钮,抽奖的开始按钮。 2.Label:用来显示参与抽奖的人员名单。 3....

qq_43265564的博客 1万+

C# WinForm抽奖程序设计与实现完整项目

回顾整个开发流程,我们完成了:✅ 美观可换肤的界面设计✅ 高DPI适配与多分辨率支持✅ 线程安全的随机数生成✅ 加密级随机源用于关键抽奖✅ 权重控制的轮盘赌算法✅ 可扩展的数据结构设计✅ 异常处理与用户友好提示✅ 大数据下的性能优化✅ 单文件发布简化部署这不仅仅是一个抽奖程序,更是一次完整的工业级桌面应用实践。下次当你站在台上,按下那个“开始抽奖”按钮时,心里想的不再是“千万别崩”,而是:“稳了!” 😎毕竟,技术的魅力就在于——

weixin_33298352的博客 1090

自制抽奖小程序

基于C#的抽奖小程序需求分析功能制作后续 需求分析 我们在生活中,在很多地方总是需要使用到一些抽奖小程序,或是抽签小程序。那么我们是否可以自己动手制作这样一款程序呢?答案当然是肯定的。 在本文中,我将利用C#制作一款抽奖小程序。非常的简单实用,大家可以动手试一试。 功能 使用C#制作抽奖程序。 点开始,滚动显示抽奖人,结束,显示中奖人。 制作 打开VS,创建Windows窗体应用 选择项目文件夹 根据自己的实际存储位置,进行更改。 打开 视图 中的工具箱,通过拖拉相关配件,进行计算器页面的设计,注意相

4789

抽奖软件(C#源码)

年终抽奖的公司很多,这个肯定很有需要。开发工具C#,数据库Access。软件中的所有参数(背景、音乐,抽奖名单,奖品等)都可以设置,方便不同公司抽奖的需要

学生点名抽奖系统小程序

1.编辑txt文件即可修改抽奖人名单 2.可以清楚已被抽中人员 3.支持两组人抽奖(适合不同班级)

【亲测免费】 C实现的年会抽奖程序

C#实现的年会抽奖程序 去发现同类优质开源项目:https://gitcode.com/ 简介 本仓库提供了一个由C#编写的年会抽奖程序,适用于公司年会等场合的抽奖活动。该程序功能齐全,操作简便,能够满足基本的抽奖需求。 功能特点 奖项设置:程序内置了一等奖、二等奖、三等奖和幸运奖四个奖项,可根据实际需求进行调整。 人员名单导入:支持从txt文件中读取参与抽奖的人员名单,方便快捷。 确认关闭:在...

gitblog_09753的博客 457

C#年会抽奖软件-终极版

界面清新美观,有背景音乐。 可动态设置奖项, 导入人员,导出结果至Excel。 可设置过滤条件,比如一年以下员工,不可抽大奖。 你所想到的,基本上都有。如果是非程序员下载此软件使用,只要使用可执行文件,通过界面修改配置数据即可使用. 此软件耗费了一定的精力,要分不高,希望能给大家带来帮助.

C#设计抽奖程序。窗体加载上来时,标签显示:开始抽奖。单击命令按钮,产生一个1到100的随机数,标签上显示:恭喜第?号,您中奖了。

设计抽奖程序。窗体加载上来时,标签显示:开始抽奖。单击命令按钮,产生一个1到100的随机数,标签上显示:恭喜第?号,您中奖了。提示:label1.Text = "恭喜第" + i + "号,您中奖了!";在这里运用了VisualC#.NET常用类中的Random类。使用Next方法在随机类初始化后,产生随机数。int x ;Random ran = new Random();x = ran.Next(1, 101);label1.Text = "恭喜第" + x + "号,您中奖了!";

新手努力进阶版 2297

C# 抽奖小程序

VS2010。其中的name.txt记录抽奖姓名列表,程序上循环滚动抽奖人姓名,点击抽奖确定中奖人

抽奖全套源码,包括数据库sql语句。winform应用程序。

抽奖全套源码,包括数据库sql语句。winform应用程序。

EXCEL 制作小型抽奖小程序

5、制作抽奖显示窗口,点击插入【文本】-【横向文本框】,点击新建的框,在上方公式栏输入:=$A$2,选中抽奖显示框中的人名和工号,设置字体颜色为红色,字号选择22,加粗,去除文本框的框线及背景色;4、制作抽奖按钮,点击【插入】-【文本框】-【绘制横排文本框】,输入文字,设置字体:华文彩云,颜色:红色,字号:22,加粗,底色都点击【形状格式】-【形状填充】-【无填充】;8、鼠标先点击要抽的几等奖后的单元格,然后再点击开始抽奖,名字开始滚动,点击停止抽奖,定格中奖姓名,点击保存抽奖,该单元格就显示中奖姓名。

qq_41157391的博客 3029

基于C#实现的抽奖小程序,可以用在年会抽奖+源码(毕业设计&课程设计&项目开发)

基于C#实现的抽奖小程序,可以用在年会抽奖+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用 基于C#实现的抽奖小程序,可以用在年会抽奖+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于C#实现的抽奖小程序,可以用在年会抽奖+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用 基于C#实现的抽奖小程序,可以用在年会抽奖+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用 基于C#实现的抽奖小程序,可以用在年会抽奖+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用 基于C#实现的抽奖小程序,可以用在年会抽奖+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用

随机抽人名小程序_年会必备,5分钟学会制作抽奖小程序

每次年会,都希望人品爆发,中个大奖。可惜这么多年过去了,依然没中过大奖,你是不是跟卢子一样?抽奖的形式有多种。在Excel中也可以制作一个抽奖小程序。现在从A列成员中抽取3名中奖人员,效果如动图。抽奖都是随机生成的,要借助随机数。随机数有两个:RAND和RANDBETWEEN函数。获取0-1的随机数。=RAND()获取某个范围的随机数,例如1-12。=RANDBETWEEN(1,12)在Excel...

weixin_39598472的博客 2万+

Winform抽奖程序源码

Winform程序,采用大转盘方式进行抽奖活动,将项类型可扩展配置,每一个奖项数量可配置,抽奖人名单可以通过配置或Excel文件进行导入或记载。

Endnote 导入参考文献的时候,格式错误太多了。et.al错误,国标GBT7714在endnote中的详细配置教程,适用于本科,硕士论文文献插入的模板

EndNote插入文献常遇到以下错误主要如下: 等、et al不分; 英文作者全名大写; 期刊名字使用了缩写(图片里没有体现;卷号、期号缺失时出现乱码,多了半个括号;页码范围略去了相同部分;没有悬挂缩进,本文全部解决,全网最细

sakura的博客 3万+

随机抽人名小程序_分析并实现一个简单的抽人程序

抽人程序介绍代码以及应用程序链接用 C# 制作了一个抽人的 Windows 小程序。控件部分 : TextBoxt 作为展示 、两个 Button 作为按钮 (抽一次、换文件)、label 作为信息提示、openFileDialog 控件来打开文本、timer 计时器用来计时定时结束。功能 : 可以切换不同的 Txt 文件作为抽取的数据源(需要将抽取项单独为一行),每点击一次 “ 抽一次 ” 按钮...

weixin_39883129的博客 1万+

Linux系统之部署经典魔塔小游戏

Linux系统之部署经典魔塔小游戏

jks212454的博客 1817

html+css+js写抽奖程序

简介:本文讲解,如何使用html+css+js写抽奖程序,后面也会加上后端,记录每一次的抽奖的结果。

jakelihua 3516

QGIS将经纬度坐标转成点

QGIS绘制一张地图

weixin_46713695的博客 6056

OceanBase容量统计:租户、数据库、表大小

🍎 数据库版本:OceanBase V4。

Sebastien23的博客 1405

C#WinForm应用程序——简易摇号系统

去年班级元旦晚会制作的要好系统,一直都忘记把代码贡献出来,把制作方法和大家说一下。 最后效果图 功能介绍: 点击开始,可以在“冲冲冲”里滚动姓名 点击结束,滚动停止 在文本框里输入姓名,添加幸运儿,后台文件会多出一个名字,可用于增加概率 下面讲一下制作的方法 一、环境 安装有C#WinForm窗体程序的Visual Studio 二、项目细节设置 设置程序icon 点击这里,选中整个项目...

ywm_up 4131

SOME/IP协议详解「2.1.2·Payload数据类型序列化」

SOME/IP协议详解「2.1.2·Payload数据类型序列化」 点击返回雪云飞星的SOME/IP协议详解「总目录」 SOME/IP协议详解「2.1.2·Payload数据类型序列化」1 大小端问题2 数据对齐填充问题3 都有哪些数据类型 之前简单的概括了一下序列化/反序列化,就是降维打击,从这一章开始到2.1所有章节结束,都在讲解这个降维打击的详细规则与原理 1 大小端问题 首先什么是大小端: 大端:高字节存放到内存的低地址 小端:高字节存放到内存的高地址 假如有一个数据是0x12345678

雪云飞星的博客 4629
上一篇: C#小案例-->让两个线程交替打印偶数和奇数值(并发)
下一篇: WinForm+C#小案例--->情侣版抽奖小游戏
MM_MS
博客等级 码龄1年 58粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MM_MS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值