博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#计数器
阅读量:4342 次
发布时间:2019-06-07

本文共 11187 字,大约阅读时间需要 37 分钟。

 

1 using System;  2 using System.Collections.Generic;  3 using System.ComponentModel;  4 using System.Data;  5 using System.Drawing;  6 using System.Linq;  7 using System.Text;  8 using System.Windows.Forms;  9  10 //添加以下命名空间 11 using System.IO; 12 using System.Reflection; 13 using System.Resources; 14 namespace 帅的计时器哈哈 15 { 16     public partial class Form1 : Form 17     { 18         private int _nowsecond = 0; 19         //类字段:冒号控制标志 20         private Boolean _colonFlag = true; 21  22         //数码管位图数组 23         private Bitmap[] _bmpShow = new Bitmap[13]; 24  25         //自定义方法:由显示字符获取对应的数码管位图 26         private Image GetResourceImage(string displayStr) 27         { 28             if (displayStr == "0") 29                 return _bmpShow[0]; 30             else if (displayStr == "1") 31                 return _bmpShow[1]; 32             else if (displayStr == "2") 33                 return _bmpShow[2]; 34             else if (displayStr == "3") 35                 return _bmpShow[3]; 36             else if (displayStr == "4") 37                 return _bmpShow[4]; 38             else if (displayStr == "5") 39                 return _bmpShow[5]; 40             else if (displayStr == "6") 41                 return _bmpShow[6]; 42             else if (displayStr == "7") 43                 return _bmpShow[7]; 44             else if (displayStr == "8") 45                 return _bmpShow[8]; 46             else if (displayStr == "9") 47                 return _bmpShow[9]; 48             else if (displayStr == ".") 49                 return _bmpShow[10]; 50             else if (displayStr == ":") 51                 return _bmpShow[11]; 52             else 53                 return _bmpShow[12]; 54         } 55  56         public Form1() 57         { 58             InitializeComponent(); 59             //初始化时间计数值(秒) 60             _nowsecond = 0; 61             //装载数码管位图文件(注意:要保证Debug目录下有images子目录及bmp文件,否则会报错) 62             _bmpShow[0] = new Bitmap("images/0.bmp"); 63             _bmpShow[1] = new Bitmap("images/1.bmp"); 64             _bmpShow[2] = new Bitmap("images/2.bmp"); 65             _bmpShow[3] = new Bitmap("images/3.bmp"); 66             _bmpShow[4] = new Bitmap("images/4.bmp"); 67             _bmpShow[5] = new Bitmap("images/5.bmp"); 68             _bmpShow[6] = new Bitmap("images/6.bmp"); 69             _bmpShow[7] = new Bitmap("images/7.bmp"); 70             _bmpShow[8] = new Bitmap("images/8.bmp"); 71             _bmpShow[9] = new Bitmap("images/9.bmp"); 72             _bmpShow[10] = new Bitmap("images/dot1.bmp"); 73             _bmpShow[11] = new Bitmap("images/dot2.bmp"); 74             _bmpShow[12] = new Bitmap("images/blank.bmp"); 75         } 76  77  78         private void label3_Click(object sender, EventArgs e) 79         { 80  81         } 82  83         84            //按钮"开始"的Click事件响应方法 85         private void buttonStart_Click(object sender, EventArgs e) 86         { 87             label2.Visible = false; 88             _nowsecond = 0; 89             //启动定时器 90             timer1.Enabled = true;           timer2.Enabled = true; 91  92             //初始化时间计数值 93             labelHour.Text = "00"; 94             labelMinute.Text = "00"; 95             labelSecond.Text = "00"; 96             labelColon1.Visible = true; 97             labelColon2.Visible = true; 98             //启用或禁用有关按钮 99             buttonStart.Enabled = false;     buttonPauseContinue.Enabled = true;     buttonStop.Enabled = true;100             //改变按钮文字101             buttonPauseContinue.Text = "暂停";102             buttonStart.BackColor=buttonStart.BackColor == Color.Blue ? Color.Yellow : Color.Blue;103             //冒号控制标志设置为true104             _colonFlag = true;105             //隐藏冒号106             pictureBoxColon1.Image = GetResourceImage(" ");107             pictureBoxColon2.Image = GetResourceImage(" ");108 109         }110 111         private void timer1_Tick(object sender, EventArgs e)112         {113             _nowsecond++;114             int hour = _nowsecond / 3600;115             int minute = (_nowsecond % 3600) / 60;116             int second = (_nowsecond % 3600) % 60;117 118             if(hour<=9)119                 labelHour.Text="0"+hour.ToString();120             else labelHour.Text = hour.ToString();121             if(minute<=9)122                 labelMinute.Text = "0" + minute.ToString();123             else labelMinute.Text = minute.ToString();124             if(second<=9)125                 labelSecond.Text = "0" + second.ToString();126             else labelSecond.Text = second.ToString();127             //显示当前的秒128             this.pictureBoxSecond1.Image = GetResourceImage((second / 10).ToString());129             this.pictureBoxSecond2.Image = GetResourceImage((second % 10).ToString());130             //显示当前的分131             this.pictureBoxMinute1.Image = GetResourceImage((minute / 10).ToString());132             this.pictureBoxMinute2.Image = GetResourceImage((minute % 10).ToString());133             //显示当前的小时134             this.pictureBoxHour1.Image = GetResourceImage((hour / 10).ToString());135             this.pictureBoxHour2.Image = GetResourceImage((hour % 10).ToString());136           137         }138 139         private void labelHour_Click(object sender, EventArgs e)140         {141 142         }143 144         private void labelMinute_Click(object sender, EventArgs e)145         {146 147         }148 149         private void labelSecond_Click(object sender, EventArgs e)150         {151 152         }153 154         //Timer2定时器的Tick事件响应方法155         private void timer2_Tick(object sender, EventArgs e)156         {157             //让中间的冒号闪烁起来158             if (labelColon1.Visible == true)159             {160                 labelColon1.Visible = false;161                 labelColon2.Visible = false;162             }163             else164             {165                 labelColon1.Visible = true;166                 labelColon2.Visible = true;167             }168             //切换冒号显示控制标志169             _colonFlag = !_colonFlag;170 171             //判断冒号控制标志是否为true172             if (_colonFlag == true)173             {174                 pictureBoxColon1.Image = GetResourceImage(" ");175                 pictureBoxColon2.Image = GetResourceImage(" ");176             }177             else178             {179                 pictureBoxColon1.Image = GetResourceImage(":");180                 pictureBoxColon2.Image = GetResourceImage(":");181             }182         }183 184         private void buttonStart_MouseDown(object sender, MouseEventArgs e)185         {186         }187 188         private void buttonStart_KeyPress(object sender, KeyPressEventArgs e)189         {190 191         }192 193         private void Form1_Load(object sender, EventArgs e)194         {195             buttonStart.Enabled = true;196             buttonPauseContinue.Enabled = false;197             buttonStop.Enabled = false;198             buttonPauseContinue.Text = "暂停";199             labelColon1.Visible = true;200             labelColon2.Visible = true;201             label2.Visible = false;202             //初始化所有ImageBox控件的初始位图203             pictureBoxHour1.Image = GetResourceImage("0");204             pictureBoxHour2.Image = GetResourceImage("0");205             pictureBoxMinute1.Image = GetResourceImage("0");206             pictureBoxMinute2.Image = GetResourceImage("0");207             pictureBoxSecond1.Image = GetResourceImage("0");208             pictureBoxSecond2.Image = GetResourceImage("0");209             pictureBoxColon1.Image = GetResourceImage(":");210             pictureBoxColon2.Image = GetResourceImage(":");211 212         }213 214         private void buttonStop_Click(object sender, EventArgs e)215         {216             _nowsecond = 0;217             timer1.Enabled = false;218             timer2.Enabled = false;219             buttonStart.Enabled = true; buttonPauseContinue.Enabled = false; buttonStop.Enabled = false;220             buttonPauseContinue.Text = "暂停";221             labelColon2.Visible = true;222             labelColon1.Visible = true;223             buttonStart.BackColor = Color.Yellow;224             labelHour.Text = "00";225             labelMinute.Text = "00";226             labelSecond.Text = "00";227             label2.Visible = true;228             //冒号控制标志设置为true229             _colonFlag = true;230             //显示冒号231             pictureBoxColon1.Image = GetResourceImage(":");232             pictureBoxColon2.Image = GetResourceImage(":");233 234             //清空时间计数值(秒)235             _nowsecond = 0;236             pictureBoxHour1.Image = GetResourceImage("0");237             pictureBoxHour2.Image = GetResourceImage("0");238             pictureBoxMinute1.Image = GetResourceImage("0");239             pictureBoxMinute2.Image = GetResourceImage("0");240             pictureBoxSecond1.Image = GetResourceImage("0");241             pictureBoxSecond2.Image = GetResourceImage("0");242             pictureBoxColon1.Image = GetResourceImage(":");243             pictureBoxColon2.Image = GetResourceImage(":");244         }245 246         private void buttonPauseContinue_Click(object sender, EventArgs e)247         {248             if (buttonPauseContinue.Text== "暂停")249             {250                  labelColon2.Visible = true;251                  labelColon1.Visible = true;252                 timer1.Enabled = false;253                 timer2.Enabled = false;254                 buttonPauseContinue.Text = "继续";255             }256             else257             {258                  labelColon2.Visible = true;259                  labelColon1.Visible = true;260                     timer1.Enabled = true;261                     timer2.Enabled = true;262                 buttonPauseContinue.Text = "暂停";263             }264             pictureBoxColon1.Image = GetResourceImage(":");265             pictureBoxColon2.Image = GetResourceImage(":");266         }267 268         private void Form1_Move(object sender, EventArgs e)269         {270             //停靠屏幕左右边框271             int screenRight = Screen.PrimaryScreen.Bounds.Right;272             int formRight = this.Left + this.Size.Width;273             if (Math.Abs(screenRight - formRight) <= 100)274                 this.Left = screenRight - this.Size.Width;275             if (Math.Abs(this.Left) <= 100)276                 this.Left = 0;277 278             //停靠屏幕上下边框279             int screenBottom = Screen.PrimaryScreen.Bounds.Bottom;280             int formBottom = this.Top + this.Size.Height;281             if (Math.Abs(screenBottom - formBottom) <= 60)282                 this.Top = screenBottom - this.Size.Height;283             if (Math.Abs(this.Top) <= 100)284                 this.Top = 0;285         }286 287         private void pictureBox2_Click(object sender, EventArgs e)288         {289 290         }291 292         private void pictureBox5_Click(object sender, EventArgs e)293         {294 295         }296 297         private void pictureBoxHour1_Click(object sender, EventArgs e)298         {299 300         }301     }302 }
View Code

 

转载于:https://www.cnblogs.com/caiyishuai/p/8453108.html

你可能感兴趣的文章
JAVA 基础 / 第八课:面向对象 / JAVA类的方法与实例方法
查看>>
Ecust OJ
查看>>
P3384 【模板】树链剖分
查看>>
Thrift源码分析(二)-- 协议和编解码
查看>>
考勤系统之计算工作小时数
查看>>
4.1 分解条件式
查看>>
Equivalent Strings
查看>>
flume handler
查看>>
收藏其他博客园主写的代码,学习加自用。先表示感谢!!!
查看>>
H5 表单标签
查看>>
C语言编程-9_4 字符统计
查看>>
在webconfig中写好连接后,在程序中如何调用?
查看>>
限制用户不能删除SharePoint列表中的条目(项目)
查看>>
feign调用spring clound eureka 注册中心服务
查看>>
ZT:Linux上安装JDK,最准确
查看>>
LimeJS指南3
查看>>
关于C++ const成员的一些细节
查看>>
《代码大全》学习摘要(五)软件构建中的设计(下)
查看>>
C#检测驱动是否安装的问题
查看>>
web-4. 装饰页面的图像
查看>>