马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

C# windows窗体应用系统代码设计 急求!

  [复制链接]
查看10413 | 回复12 | 2014-6-8 19:49:58 | 显示全部楼层 |阅读模式
本帖最后由 条条大路同罗马 于 2014-6-8 19:51 编辑

如何实现设计图中运行后显示获奖名单的功能

设计页面

设计页面

具体要用到什么控件,代码怎么写?
C#新手,急求!
拜托各位!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 快乐大本营抽奖系统
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        string[] namelist = new string[10] { "赵阳", "钱枫", "孙黎", "李志", "周秦", "吴双", "郑丽", "王磊", "蒋杉", "杨晨", };
        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Start();
        }

         private void button2_Click(object sender, EventArgs e)
        {
            timer1.Stop();
        }
        Random r = new Random();
        int i = 0;

        private void timer1_Tick(object sender, EventArgs e)
        {
            i = r.Next(0, 10);//产生0到9之间的随机数
            lbName.Text = namelist;
        }
        int daojishi = 10;
        private void timer2_Tick(object sender, EventArgs e)
        {
            lbName.Text = daojishi.ToString();
            daojishi--;
            if (daojishi == 0)
            {
                timer2.Stop();
                timer1.Start();
            }
        }


    }
}

ibcadmin | 2014-6-8 21:27:11 | 显示全部楼层
给你讲下思路吧   ,   
第一 : 有个集合 存放获奖用户
第二: 点击开始后, 启动计时器Timer(如果需要类似滚动效果的话,就用计时器,如果没效果,点击停止以后直接出现获奖人 就没必要用Timer)
第三,声明一个随机数,并且限制随机数不能大于你获奖人的集合
第四,点击停止后,得到一个随机数,把随机数作为索引给数组
最后根据数组索引输出的那个人 就是获奖的人,整体没有那么麻烦,就几行代码就能实现。
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
ibcadmin 发表于 2014-6-8 21:27
给你讲下思路吧   ,   
第一 : 有个集合 存放获奖用户
第二: 点击开始后, 启动计时器Timer(如果需 ...

能说具体点吗?那个集合具体要怎么写?谢谢啦
ibcadmin | 2014-6-9 13:05:52 | 显示全部楼层
条条大路同罗马 发表于 2014-6-9 03:26
能说具体点吗?那个集合具体要怎么写?谢谢啦

就跟你的一样  
第一步: string[] namelist = new string[10] { "赵阳", "钱枫", "孙黎", "李志", "周秦", "吴双", "郑丽", "王磊", "蒋杉", "杨晨" };

第二步动画效果省略

第三步/第四步代码:

点击停止按钮 触发

Random r = new Random();
int i =  r.Next(0, namelist.Count-1);//产生0到数组集合之间的随机数
//得到中奖的名单
string name = namelist.ToString();

不算动画效果的话  就这四句代码 就能实现
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
ibcadmin 发表于 2014-6-9 13:05
就跟你的一样  
第一步: string[] namelist = new string[10] { "赵阳", "钱枫", "孙黎", "李志", "周 ...

这个代码能实现下面这几个功能吗?还有显示获奖名单的地方该用什么控件呢?麻烦解答下,谢谢你啦
1.显示获奖名单(获奖人数少于总人数)。
2.抽奖结束时需给予提示
3.已经获奖的人员不能再被抽中
ibcadmin 发表于 2014-6-8 21:27
给你讲下思路吧   ,   
第一 : 有个集合 存放获奖用户
第二: 点击开始后, 启动计时器Timer(如果需 ...

我之前看到你做的一个闹钟C#应用,我也试着做了一个
可不知道为什么我的那个执行后总是会接连出现很多个闹钟报时
这是怎么回事呢,要怎么改一下呢?
ibcadmin | 2014-6-9 22:22:12 | 显示全部楼层
条条大路同罗马 发表于 2014-6-9 12:57
这个代码能实现下面这几个功能吗?还有显示获奖名单的地方该用什么控件呢?麻烦解答下,谢谢你啦
1.显示 ...

除了3不行 其他都行
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
ibcadmin | 2014-6-9 22:23:47 | 显示全部楼层
条条大路同罗马 发表于 2014-6-9 13:24
我之前看到你做的一个闹钟C#应用,我也试着做了一个
可不知道为什么我的那个执行后总是会接连出现很多个 ...

   这是我做的问题 , 当时赶时间 5分钟做的    就有这问题  你在代码最后 加个return就行了
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
条条大路同罗马 | 2014-6-10 11:41:14 | 显示全部楼层
ibcadmin 发表于 2014-6-9 22:23
这是我做的问题 , 当时赶时间 5分钟做的    就有这问题  你在代码最后 加个return就行了

我加了,可还是不行
还是说要加到timer1_Tick 或者 button1_Click 里面
条条大路同罗马 | 2014-6-10 11:41:51 | 显示全部楼层
ibcadmin 发表于 2014-6-9 22:22
除了3不行 其他都行

谢谢啦,还有还有显示获奖名单的地方该用什么控件呢?
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则