int deltX=2;
int deltY = 2;
private void timer1_Tick(object sender, EventArgs e)
{
this.pictureBox1.Left += deltX;
this.pictureBox1.Top += deltY;
if (this.pictureBox1.Top < 0 ||
this.pictureBox1.Top + this.pictureBox1.Height > this.Height)
deltY = -deltY;
if (this.pictureBox1.Left < 0 ||
this.pictureBox1.Left + this.pictureBox1.Width > this.Width)
deltX = -deltX;
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
Application.Exit();
}
int ixStart=-1, iyStart=-1;
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
// 把鼠标刚刚开始移动的位置给记录下来
if (ixStart == -1 && iyStart == -1)
{
ixStart = e.X;
iyStart = e.Y;
return;
}
//判断自屏幕保护程序运行后,鼠标的位置是否变动
else if (e.X != ixStart || e.Y != iyStart)
{
Application.Exit();
};
}
static void Main()
{
System.Windows.Forms.Cursor.Hide ();//隐藏鼠标
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
这里的比较关键的程序。
本博客介绍了一个使用C#实现的窗体动画效果,通过定时器控制PictureBox的位置变化,实现弹跳效果。同时,加入了键盘和鼠标事件监听,以实现特定的用户交互,如关闭应用程序和检测鼠标移动。
389

被折叠的 条评论
为什么被折叠?



