WinForm图片抽奖器

摘要:
如果你闲着,就开彩票。界面:2个按钮,一个标签显示当前获胜者的姓名或号码,以及一个计时器。原则:加载表单时,首先加载配置文件中设置的文件夹中的所有图片并将其保存在列表中,然后设置计时器时间,最好在10-20毫秒内。在计时器的“滴答”事件中,随机指定路径。

闲着蛋疼,写个抽奖器玩玩。
界面: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);  
    
      }

最后来个界面截图瞧瞧

WinForm图片抽奖器第1张

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

免责声明:文章转载自《WinForm图片抽奖器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇raid1磁盘更换---测试嵌入式 busybox自带的tftp、telnet、ftp服务器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

单选按钮(radio)的取值和点击事件

笔记走一波:获取单选按钮(radio)的选中值,以及它的点击事件的实现 首先要引入Jquery <script type="text/javascript" src="js/jquery-3.1.1.min.js"> 下面是一个简单的表单 <!-- 单选按钮的取值和点击事件--> <form action="#" metho...

winform 以不规则图形背景显示窗体

一:创建一个winform窗体,把BackgroundImage引入一个不规则的图片,设置属性BackgroundImageLayout为Stretch 二:主要代码 using System; using System.Drawing; using System.Media; using System.Runtime.InteropServices; u...

C# WinForm控件美化扩展系列之给TextBox加水印

在一些软件中,我们看到当一个输入控件(textbox)没有输入而且没有焦点的时候,会显示一些提示信息,网上有一些介绍用复合控件来实现,其实我们直接继承textbox控件也很容易实现。 下面就介绍怎样来实现这个控件。 第一步:我们建一个继承textbox的类,命名为watermaktextbox。 第二步:给这个类添加两个属性,一个是emptytexttip...

IOS键盘样式风格有关设置

一、键盘风格 UIKit框架支持8种风格键盘。 typedefenum{ UIKeyboardTypeDefault,//默认键盘:支持所有字符 UIKeyboardTypeASCIICapable,//支持ASCII的默认键盘 UIKeyboardTypeNumbersAndPunctuation,//标准电话键盘,支持+*#等符号 UIKe...

C# winform 打印事例

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

倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-点击运行按钮进入到运行状态报错Error starting TwinCAT System怎么办 AdsWarning1823怎么办

一般提示如下   点击Device,然后选中当前真正连接到的网卡   一般是由于重装系统之后,没有把本来是realtime capable的设备Install,所以找不到支持EtherCAT的设备导致的,只需要重新安装一下支持的网卡即可,如果还是不行,则删除原来扫出来的设备,重新扫描一次       更多教学视频和资料下载,欢迎关注以...