PictureBox控件pc1上面用g.DrawIcon在(200,200)位置画了一个32像素的图标,我要在该图标周围实现地震波/水波扩散效果(从里到外依次画5个半径增大的圈,先画内1圈,擦除内1圈后画内2圈,擦除内2圈消失后画内3圈,依次类推循环),请问如何实现?
解决方案 »
- 问个最最简单的问题,关于VS的
- 不显示删除回复显示所有回复显示星级回复显示得分回复 winform如何传递参数给wpf浏览器应用程序
- 求教提条正则:取出“<A href="1">A1</A><A href="2">A2</A><A href="3">A3</A>” 中的"a1,a2,a3"并保存到数组中。
- 水晶报表在每次调试的时候,打开它用crystalreportview看时候都会跳出"数据库登录窗口",有没有办法不让它显示,直接打开。
- 怎么用C#直接生成一个dbf文件给出个实例
- 如何在C#语言中使用嵌入式sql语句?
- 请问 打印流里面如何实现可以让文字竖打
- 基于p2p的流媒体点播
- 求高人指点。关于这样的复杂业务功能的实现思路。
- 想问一下 C#winform 中 添加数据 数据库不更新
- WIN7 64位系统 Xenocode Postbuild 2010 for .NET 失效
- 请问windows8平板开发如何入门?有相关的资料吗?
在Timer的触发的时候,增加半径,并调用pictureBox.Invalidate()。
Invalidate会触发pictureBox的重画。
在重画中,按照半径画圆,然后在圆心DrawIcon。
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
try
{
if (g == null)
{
g = e.Graphics;
}
}
catch (Exception ex)
{
}
}
private void timer1_Tick(object sender, EventArgs e)
{
try
{
Pen penBrash = new Pen(Color.Green, 1); //定义一绿色画笔
Rectangle rg = new Rectangle(100, 100, 50, 50);
g.DrawEllipse(penBrash, rg); //画空心圆
}
catch (Exception ex)
{
}
}
为什么定时器第一次执行到g.DrawEllipse(penBrash, rg);语句就弹出异常”ex = {"参数无效。"}“
在 System.Drawing.Graphics.CheckErrorStatus(Int32 status)
在 System.Drawing.Graphics.DrawEllipse(Pen pen, Int32 x, Int32 y, Int32 width, Int32 height)
在 System.Drawing.Graphics.DrawEllipse(Pen pen, Rectangle rect)
在 Pic.Form1.timer1_Tick(Object sender, EventArgs e) 位置 D:\test\Form1.cs:行号 67
private void timer1_Tick(object sender, EventArgs e)
{
radius += 30;
pictureBox1.Invalidate(); //<---
}