c#中鼠标点击的视觉效果

时间:2016-04-02 19:20:09

标签: c#

我希望如果我点击图像,它会产生视觉效果,如旋转效果或发光效果,或者在我用鼠标点击的点周围的特定部位上的任何其他效果。例如,如果有人使用Windows手机的UC浏览器的图片密码完全相同我想要的。

我没有尝试任何东西,因为我不了解动画和图形因此我没有尝试任何东西。

public void start()
 {
  messagebox.show("i haven't tried anything yet no knowledge of animation");
}

这段代码不过是我写的,因为我无法发布问题。

1 个答案:

答案 0 :(得分:0)

Winforms中,您可以编写如下代码:

int AnimationCounter = 0;
Point AnimationCenter = Point.Empty;
Timer AnimationTimer = new Timer();

private void pictureBox1 _MouseClick(object sender, MouseEventArgs e)
{
    AnimationCenter = e.Location;
    AnimationTimer.Interval = 20;
    AnimationTimer.Start();
}

void AnimationTimer_Tick(object sender, EventArgs e)
{
    if (AnimationCounter > 15)
    {
        AnimationTimer.Stop();
        AnimationCounter = 0;
        pictureBox1.Invalidate();
    }
    else
    {
        AnimationCounter += 1;
        pictureBox1.Invalidate();
    }
}

private void pictureBox1 _Paint(object sender, PaintEventArgs e)
{
    if (AnimationCounter > 0) 
    {
        int ac = AnimationCounter / 2;
        e.Graphics.DrawEllipse(Pens.Orange, AnimationCenter.X - ac, 
                                            AnimationCenter.Y - ac, ac * 2, ac * 2);
    }
}

别忘了hook up the Paint and MouseClick event and also the AnimationTimer_Tick event.

结果将在您点击的位置绘制一个增长的圆圈,该圆圈将在ca.之后消失。 10 * 20毫秒..

更新:第一个版本因反复挂钩Tick事件而受到影响。这个测试更好; - )