首页 > 代码库 > 小白C#窗体系列-04.点名系列的小系统

小白C#窗体系列-04.点名系列的小系统

这个东西其实是最简单的东西了,一个随机数一个集合一个timer控件就搞定了。本来不想写这一期的,后来有个哥们跟我说他在网上买了个抽奖系统花了几百块钱。。。。软件发过来我一反编译。。。当时我就愣了。。。一个猥琐的非人类就这样坑了一个好骗的人类。。。
        步入正题,逆天今天给大家带来的是点名抽奖系列的小系统,为了普遍性和简易性就没有写死直接用一个txt记录(其实写死的程序也可以改变他的一些内容,在本章节的最后会给大家一个小工具【C32Asm】)

        软件下载(.NET 4.0 框架)http://pan.baidu.com/s/1sjK2rG5【源码看下面】(没有过多美化)

   (这个是我以前在IBM为了抽作业而编的(变态版),你们反编译一下,我没加壳)
 http://pan.baidu.com/s/1dDenq6X     

一、设计图纸:  

二、代码分析: 1、读文本并把元素写到集合中: 文本是小文件,就直接用File来读了,具体看解释:

  先定义个范型集合:Dictionary<int, string> dic = new Dictionary<int, string>(); 
if (File.Exists("dnt.txt"))//判断文件是否存在
    {
        try
        {
            string[] dnt = File.ReadAllLines("dnt.txt", Encoding.Default);//以默认编码格式来存数据(解决中文乱码)
                    
            int i = 0;
                    
            foreach (string item in dnt)//全部写到List<T>中
            {
                if (!string.IsNullOrEmpty(item.Trim()))//非空才可以写进去,并且一行中不全为空格
                {
                    dic.Add(i++, item.Trim());//把头和尾的空格去除掉
                }
            }
        }
        catch
        {
            MessageBox.Show("亲,你先把我关闭再打开一次,这样我就又可以快乐生活了~");
        }
    }
    else
    {
        File.Create("dnt.txt");
        
        MessageBox.Show("如果你想自定义内容,请在当前目录下的dnt.txt逐行放入数据\n软件每次打开的时候都会重新读取文本的内容!", "逆天友情提醒");
    }
 

2、随机显示文本里面的内容:  

if (dic.Count > 0)//先看一下集合里面是不是空的(默认为空【和数组不同】)
    {
        Random r = new Random();
        
        int n = r.Next(0, dic.Count);
        
        lbl1.Text = dic[n];
        
        lbl1.Left = (433 - lbl1.Width) / 2; //控制它居中对齐(我这边写死了,你改一下)【窗体宽度-lbl宽度的一半】
    }
 

 是不是没什么好讲的?几百块???!!!年度在公司里面一般都有个什么抽奖环节的,非IT的你如果弄个这个,是不是很吊?。。。。。我飘过~~~
三、源码分享:http://pan.baidu.com/s/1sjudRUt
四、视频共享: 等~~~   

本期推荐: C32Asm(很不错的小工具)                                                                              下一期:手动打造繁简互转器

小白C#窗体系列-04.点名系列的小系统