科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道利用Visual C# 2005制作简单动画效果之二

利用Visual C# 2005制作简单动画效果之二

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

     要显示「关于」对话框,请替「说明」菜单项目的Click事件处理例程中撰写下列程序代码: private void toolStripMenuItem4_Click(object sender, EventArgs e)

作者:中国IT实验室 来源:中国IT实验室 2007年9月11日

关键字: 利用 编程

  • 评论
  • 分享微博
  • 分享邮件
¡¡¡¡

¡¡¡¡ÒªÏÔʾ¡¸¹ØÓÚ¡¹¶Ô»°¿ò£¬ÇëÌ桸˵Ã÷¡¹²Ëµ¥ÏîÄ¿µÄClickʼþ´¦ÀíÀý³ÌÖÐ׫дÏÂÁгÌÐò´úÂ룺

private void toolStripMenuItem4_Click(object sender, EventArgs e)
{
¡¡// ÏÔʾ¹ØÓÚ¶Ô»°¿ò¡£
¡¡AboutBox MyAboutBox = new AboutBox();

¡¡// É趨¹ØÓÚ¶Ô»°¿òµÄÆôʼλÖá£
¡¡MyAboutBox.StartPosition = FormStartPosition.CenterScreen;
¡¡MyAboutBox.Show();
}

¡¡¡¡µ±Óû§µãÑ¡²»Í¬µÄÑ¡Ïťʱ£¬½«»áÖ´ÐÐÏÂÁгÌÐò´úÂëÀ´ÏÔʾ²»Í¬µÄ¶¯»­Ð§¹û¡£ÕâЩ³ÌÐò´úÂë׫дÓÚÑ¡Ïî°´Å¥µÄ CheckedChanged ʼþ´¦Àíº¯Ê½ÖУ¬ÈçÏÂËùÁУº

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);
}

¡¡¡¡×Ô¶©º¯Ê½ RadioButtons_CheckedChanged »á½ÐÓà OnResize º¯Ê½À´²úÉú²»Í¬µÄͼÐΣ¬Çë´ó¼Ò×¢Ò⣬ÎÒÃÇϵʹÓà Graphics Àà±ðµÄ FillEllipse ·½·¨À´»æÖÆÇòÐΣ¬³ÌÐò´úÂëÈçÏÂËùÁУº

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 = (int)(ClientSize.Width / 2);
¡¡¡¡intBallPositionY = (int)(ClientSize.Height / 2);
¡¡}
¡¡else if (optText.Checked)
¡¡{
¡¡¡¡Graphics grfx = CreateGraphics();
¡¡¡¡grfx.Clear(BackColor);
¡¡}
}


 

²é¿´±¾ÎÄÀ´Ô´

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章