private void AboutBox_Load(object sender, EventArgs e)
{
AssemblyInfoClass myAssembly = new AssemblyInfoClass();
labelProductName.Text = "產品名稱:" + myAssembly.Product;
labelVersion.Text = "版本:" + myAssembly.Version;
labelCopyright.Text = "版權宣告:" + myAssembly.Copyright;
labelCompanyName.Text = "公司名稱:" + myAssembly.Company;
textBoxDescription.Text = "細部描述:" + myAssembly.Description;
}
private void toolStripMenuItem4_Click(object sender, EventArgs e)
{
AboutBox MyAboutBox = new AboutBox();
MyAboutBox.StartPosition = FormStartPosition.CenterScreen;
MyAboutBox.Show();
}
private void RadioButtons_CheckedChanged(object sender, EventArgs e)
{
if (optWink.Checked) tmrAnimation.Interval = WINK_TIMER_INTERVAL;
else if (optBall.Checked) tmrAnimation.Interval = BALL_TIMER_INTERVAL;
else if (optText.Checked) tmrAnimation.Interval = TEXT_TIMER_INTERVAL;
OnResize(EventArgs.Empty);
}
protected override void OnResize(EventArgs ea)
{
if (optWink.Checked)
{
Graphics grfx = CreateGraphics();
this.Refresh();
}
else if (optBall.Checked)
{
Graphics grfx = CreateGraphics();
grfx.Clear(BackColor);
double dblRadius = Math.Min(ClientSize.Width / grfx.DpiX,
ClientSize.Height / grfx.DpiY) / intBallSize;
intBallRadiusX = (int)(dblRadius * grfx.DpiX);
intBallRadiusY = (int)(dblRadius * grfx.DpiY);
intBallMoveX = (int)(Math.Max(1, intBallRadiusX / intMoveSize));
intBallMoveY = (int)(Math.Max(1, intBallRadiusY / intMoveSize));
intBitmapWidthMargin = intBallMoveX;
intBitmapHeightMargin = intBallMoveY;
intBallBitmapWidth = 2 * (intBallRadiusX + intBitmapWidthMargin);
intBallBitmapHeight = 2 * (intBallRadiusY + intBitmapHeightMargin);
bitmap = new Bitmap(intBallBitmapWidth, intBallBitmapHeight);
grfx = Graphics.FromImage(bitmap);
grfx.Clear(BackColor);
grfx.FillEllipse(Brushes.Red,
new Rectangle(intBallMoveX, intBallMoveY,
2 * intBallRadiusX, 2 * intBallRadiusY));
intBallPositionX = ClientSize.Width / 2;
intBallPositionY = ClientSize.Height / 2;
}
else if (optText.Checked)
{
Graphics grfx = CreateGraphics();
grfx.Clear(BackColor);
}
}
使用 FillEllipse 繪製紅色球體至 Bitmap,再於 Tick 事件中 DrawImage 顯示。