📄 form1.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Ratan2005.Util;
using System.Reflection;
namespace LedClock
{
public partial class Form1 : Form
{
Graphics gxBuffer;
Bitmap offBitmap;
Graphics gx;
Bitmap bMap;
static string path = "";
int t = 0;
public Form1()
{
InitializeComponent();
path = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
offBitmap = new Bitmap(234, 60);
gxBuffer = Graphics.FromImage(offBitmap);
gxBuffer.Clear(this.BackColor);
bMap = new Bitmap(234, 60);
gx = Graphics.FromImage(bMap);
//Bitmap backImage = GetImage("11");
gx.Clear(this.BackColor);
}
public static Bitmap GetImage(string num)
{
switch (num)
{
case "0": return new Bitmap(path + @"\Resources\0.png");
case "1": return new Bitmap(path + @"\Resources\1.png");
case "2": return new Bitmap(path + @"\Resources\2.png");
case "3": return new Bitmap(path + @"\Resources\3.png");
case "4": return new Bitmap(path + @"\Resources\4.png");
case "5": return new Bitmap(path + @"\Resources\5.png");
case "6": return new Bitmap(path + @"\Resources\6.png");
case "7": return new Bitmap(path + @"\Resources\7.png");
case "8": return new Bitmap(path + @"\Resources\8.png");
case "9": return new Bitmap(path + @"\Resources\9.png");
case "10": return new Bitmap(path + @"\Resources\10.png");
case "11": return new Bitmap(path + @"\Resources\11.png");
}
return new Bitmap(path + @"\Resources\0.png");
}
private void timer1_Tick(object sender, EventArgs e)
{
DateTime now = DateTime.Now;
//Bitmap offBitmap = new Bitmap(this.Width, this.Height);
string hour = now.Hour.ToString();
string minute = now.Minute.ToString();
string second = now.Second.ToString();
//string milli = (now.Millisecond/100).ToString();
if (hour.Length == 1)
{
DrawTransp.DrawAlpha(gxBuffer, GetImage("0"), 255, 0, 0);
DrawTransp.DrawAlpha(gxBuffer, GetImage(hour), 255, 26, 0);
}
else
{
DrawTransp.DrawAlpha(gxBuffer, GetImage(hour.Substring(0, 1)), 255, 0, 0);
DrawTransp.DrawAlpha(gxBuffer, GetImage(hour.Substring(1, 1)), 255, 26, 0);
}
DrawTransp.DrawAlpha(gxBuffer, GetImage("10"), 255, 52, 0);
if (minute.Length == 1)
{
DrawTransp.DrawAlpha(gxBuffer, GetImage("0"), 255, 59, 0);
DrawTransp.DrawAlpha(gxBuffer, GetImage(minute), 255, 85, 0);
}
else
{
DrawTransp.DrawAlpha(gxBuffer, GetImage(minute.Substring(0, 1)), 255, 59, 0);
DrawTransp.DrawAlpha(gxBuffer, GetImage(minute.Substring(1, 1)), 255, 85, 0);
}
DrawTransp.DrawAlpha(gxBuffer, GetImage("10"), 255, 111, 0);
if (second.Length == 1)
{
DrawTransp.DrawAlpha(gxBuffer, GetImage("0"), 255, 118, 0);
DrawTransp.DrawAlpha(gxBuffer, GetImage(second), 255, 144, 0);
}
else
{
DrawTransp.DrawAlpha(gxBuffer, GetImage(second.Substring(0, 1)), 255, 118, 0);
DrawTransp.DrawAlpha(gxBuffer, GetImage(second.Substring(1, 1)), 255, 144, 0);
}
//DrawTransp.DrawAlpha(gxBuffer, GetImage("10"), 255, 170, 0);
//if (milli.Length == 1)
//{
// DrawTransp.DrawAlpha(gxBuffer, GetImage("0"), 255, 177, 0);
// DrawTransp.DrawAlpha(gxBuffer, GetImage(milli), 255, 203, 0);
//}
//else
//{
// DrawTransp.DrawAlpha(gxBuffer, GetImage(milli.Substring(0, 1)), 255, 177, 0);
// DrawTransp.DrawAlpha(gxBuffer, GetImage(milli.Substring(1, 1)), 255, 203, 0);
//}
pictureBox1.Image = offBitmap;
}
private void menuItem1_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnStart_Click(object sender, EventArgs e)
{
t = 0;
btnStop.Enabled = true;
btnStart.Enabled = false;
timer2.Enabled = true;
}
private void btnStop_Click(object sender, EventArgs e)
{
t = 0;
timer2.Enabled = false;
btnStop.Enabled = false;
btnStart.Enabled = true;
}
private void timer2_Tick(object sender, EventArgs e)
{
t = t + 1;//得到总的毫秒数
int f = t; // 毫秒
int s = t/100; // 转化为秒
int m = s/60; // 分
int h = m/60; // 时
s = s%60; // 秒
string hour = h.ToString();
string minute = m.ToString();
string second = s.ToString();
string milli = f.ToString();
if (hour.Length == 1)
{
DrawTransp.DrawAlpha(gx, GetImage("0"), 255, 0, 0);
DrawTransp.DrawAlpha(gx, GetImage(hour), 255, 26, 0);
}
else
{
DrawTransp.DrawAlpha(gx, GetImage(hour.Substring(0, 1)), 255, 0, 0);
DrawTransp.DrawAlpha(gx, GetImage(hour.Substring(1, 1)), 255, 26, 0);
}
DrawTransp.DrawAlpha(gx, GetImage("10"), 255, 52, 0);
if (minute.Length == 1)
{
DrawTransp.DrawAlpha(gx, GetImage("0"), 255, 59, 0);
DrawTransp.DrawAlpha(gx, GetImage(minute), 255, 85, 0);
}
else
{
DrawTransp.DrawAlpha(gx, GetImage(minute.Substring(0, 1)), 255, 59, 0);
DrawTransp.DrawAlpha(gx, GetImage(minute.Substring(1, 1)), 255, 85, 0);
}
DrawTransp.DrawAlpha(gx, GetImage("10"), 255, 111, 0);
if (second.Length == 1)
{
DrawTransp.DrawAlpha(gx, GetImage("0"), 255, 118, 0);
DrawTransp.DrawAlpha(gx, GetImage(second), 255, 144, 0);
}
else
{
DrawTransp.DrawAlpha(gx, GetImage(second.Substring(0, 1)), 255, 118, 0);
DrawTransp.DrawAlpha(gx, GetImage(second.Substring(1, 1)), 255, 144, 0);
}
DrawTransp.DrawAlpha(gx, GetImage("10"), 255, 170, 0);
if (milli.Length == 1)
{
DrawTransp.DrawAlpha(gx, GetImage("0"), 255, 177, 0);
DrawTransp.DrawAlpha(gx, GetImage(milli), 255, 203, 0);
}
else
{
DrawTransp.DrawAlpha(gx, GetImage(milli.Substring(0, 1)), 255, 177, 0);
DrawTransp.DrawAlpha(gx, GetImage(milli.Substring(1, 1)), 255, 203, 0);
}
pictureBox2.Image = bMap;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -