WinForm图片抽奖器

闲着蛋疼,写个抽奖器玩玩。
界面:2个按钮(一个开始,一个停止),一个label显示当前抽中人的姓名或者编号,一个定时器。
原理:在窗体加载的时候,首先加载好在配置文件设置的文件夹内的所有图片保存在一个List中,并且设置好timer的时间,最好是短一点,10-20毫秒之内。在timer的Tick事件中,随机指定一个路径。

详细代码:界面的布局就 省了。
配置文件

<configuration>  
<appSettings >  
<add key="picPath" value="F:\Sample\winform\clock"/>  
</appSettings>  
</configuration>

Load事件

timer1.Enabled = false;//默认不启用定时器  
                     
  timer1.Interval = 15;//定时器触发间隔时间,毫秒为单位  
                     
                     
  string path = ConfigurationManager.AppSettings["picPath"].ToString();//获取配置文件的图片路径,可以考虑用OpenFileDialg....  
                     
  string[] fs = Directory.GetFiles(path);//获取该路径下的所有文件名  
                     
//遍历所有文件,匹配是图片的文件  
                     
  for (int i = 0; i < fs.Length; i++)  
                     
  {  
                     
      if (Path.GetExtension(fs[i]).ToLower() == ".jpg")//该处为默认扩展名,根据具体情况而定  
                     
      {  
                     
          photo.Add(fs[i]);//如果是图片文件,则将该文件路径添加到全局的ArrayList中  
                     
      }  
                     
  }

开始按钮和停止按钮事件

//开始按钮事件  
      
private void button1_Click(object sender, EventArgs e)  
      
        {  
      
            timer1.Enabled = true;//启用定时器  
      
        }  
      
//停止按钮事件  
      
        private void button2_Click(object sender, EventArgs e)  
      
        {  
      
            timer1.Enabled = false;//停用定时器  
      
        }

最后一个是重点的定时器Tick事件

private void timer1_Tick(object sender, EventArgs e)  
    
      {  
    
         //产生一个随机数,随机数的范围为0-文件总数  
    
          Random rand = new Random();  
    
         int i= rand.Next(photo.Count);  
    
         pictureBox1.ImageLocation = photo[i].ToString();//指定PicBox的文件路径为随机的路径  
    
        //以下代码为截取文件名,不包括后缀,实际应用中,可能是姓名等其他唯一的命名。  
    
         string filename = Path.GetFileName(photo[i].ToString());//  
    
         int index = filename.LastIndexOf('.');  
    
         label1.Text = filename.Substring(0, index);  
    
      }

最后来个界面截图瞧瞧

 

本文从百度空间搬家到博客园。。

posted @ 2012-12-23 05:42  提灯寻影~  阅读(415)  评论(0编辑  收藏  举报