条条大路同罗马 发表于 2014-6-8 19:49:58

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

本帖最后由 条条大路同罗马 于 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 { "赵阳", "钱枫", "孙黎", "李志", "周秦", "吴双", "郑丽", "王磊", "蒋杉", "杨晨", };
      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)
第三,声明一个随机数,并且限制随机数不能大于你获奖人的集合
第四,点击停止后,得到一个随机数,把随机数作为索引给数组
最后根据数组索引输出的那个人 就是获奖的人,整体没有那么麻烦,就几行代码就能实现。

条条大路同罗马 发表于 2014-6-9 11:26:02

ibcadmin 发表于 2014-6-8 21:27
给你讲下思路吧   ,   
第一 : 有个集合 存放获奖用户
第二: 点击开始后, 启动计时器Timer(如果需 ...

能说具体点吗?那个集合具体要怎么写?谢谢啦

ibcadmin 发表于 2014-6-9 13:05:52

条条大路同罗马 发表于 2014-6-9 03:26
能说具体点吗?那个集合具体要怎么写?谢谢啦

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

第二步动画效果省略

第三步/第四步代码:

点击停止按钮 触发

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

不算动画效果的话就这四句代码 就能实现

条条大路同罗马 发表于 2014-6-9 20:57:48

ibcadmin 发表于 2014-6-9 13:05
就跟你的一样
第一步: string[] namelist = new string { "赵阳", "钱枫", "孙黎", "李志", "周 ...

这个代码能实现下面这几个功能吗?还有显示获奖名单的地方该用什么控件呢?麻烦解答下,谢谢你啦
1.显示获奖名单(获奖人数少于总人数)。
2.抽奖结束时需给予提示
3.已经获奖的人员不能再被抽中

条条大路同罗马 发表于 2014-6-9 21:24:45

ibcadmin 发表于 2014-6-8 21:27
给你讲下思路吧   ,   
第一 : 有个集合 存放获奖用户
第二: 点击开始后, 启动计时器Timer(如果需 ...

我之前看到你做的一个闹钟C#应用,我也试着做了一个
可不知道为什么我的那个执行后总是会接连出现很多个闹钟报时
这是怎么回事呢,要怎么改一下呢?

ibcadmin 发表于 2014-6-9 22:22:12

条条大路同罗马 发表于 2014-6-9 12:57
这个代码能实现下面这几个功能吗?还有显示获奖名单的地方该用什么控件呢?麻烦解答下,谢谢你啦
1.显示 ...

除了3不行 其他都行

ibcadmin 发表于 2014-6-9 22:23:47

条条大路同罗马 发表于 2014-6-9 13:24
我之前看到你做的一个闹钟C#应用,我也试着做了一个
可不知道为什么我的那个执行后总是会接连出现很多个 ...

   这是我做的问题 , 当时赶时间 5分钟做的    就有这问题你在代码最后 加个return就行了

条条大路同罗马 发表于 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不行 其他都行

谢谢啦,还有还有显示获奖名单的地方该用什么控件呢?
页: [1] 2
查看完整版本: C# windows窗体应用系统代码设计 急求!