using System;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
namespace DIYWordpad
{
partial class FormAboutBox : Form
{
public FormAboutBox()
{
#region
InitializeComponent();
this.DoubleBuffered = true;
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(Application.ExecutablePath);
this.Text = String.Format("关于 {0}", fvi.OriginalFilename);
labelProductName.Text = String.Format("产品名称:{0}", fvi.ProductName);
labelVersion.Text = String.Format(" 版本:{0}", fvi.FileVersion);
labelCopyright.Text = String.Format(" 版权:{0}", fvi.LegalCopyright);
labelCompanyName.Text = String.Format("公司名称:{0}", fvi.CompanyName);
txtDescription.Text = String.Format(" 说明:{0} /r/n/r/n 作者:金哲显 /r/n/r/n 博客:hi.baidu.com/kingzhexian/blog", fvi.FileDescription);
#endregion
}
#region CancelButton
private void okButton_Click(object sender, EventArgs e)
{
this.Close();
}
#endregion
#region DrawClock
private void timerInfo_Tick(object sender, EventArgs e)
{
logoPictureBox.Refresh(); // 刷新。
}
private void logoPictureBox_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
using (Pen p = new Pen(Color.Cyan, 2F))
{
p.EndCap = LineCap.ArrowAnchor;
g.SmoothingMode = SmoothingMode.AntiAlias;
g.TranslateTransform(logoPictureBox.Width / 2F, logoPictureBox.Height / 2F); // 设置原点(中心)。
g.RotateTransform(-90); // 设置起始点(12点)。
GraphicsState gs = g.Save(); // 保存起始点。
g.RotateTransform(DateTime.Now.Hour * 30 + DateTime.Now.Minute * 0.5F);
g.DrawLine(p, 0, 0, 50, 0); // 绘制时针。
g.Restore(gs); // 还原起始点。
gs = g.Save(); // 保存起始点。
p.Color = Color.BlueViolet;
g.RotateTransform(DateTime.Now.Minute * 6);
g.DrawLine(p, 0, 0, 50, 0); // 绘制分针。
g.Restore(gs); // 还原起始点。
gs = g.Save(); // 保存起始点。
p.Color = Color.Red;
g.RotateTransform(DateTime.Now.Second * 6);
g.DrawLine(p, 0, 0, 50, 0); // 绘制秒针。
g.Restore(gs); // 还原起始点。
for (int i = 0; i < 60; ++i)
{
if (i % 5 == 0)
{
p.Color = Color.Cyan;
g.FillEllipse(p.Brush, 60, -2, 4, 4); // 绘制整点。
}
else
{
p.Color = Color.BlueViolet;
g.FillEllipse(p.Brush, 60, -1, 2, 2); // 绘制整分。
}
g.RotateTransform(6);
}
}
e.Dispose();
}
#endregion
}
}