准备工作
首先先为窗体设置属性并为属性赋值
this.FormBorderStyle = FormBorderStyle.None; //窗体的边框样式为无边框
this.Size = new Size(100,100); //设置窗体的宽和高
this.BackColor = Color.Blue; //窗体的背景颜色为blue蓝色
this.Location = new Point(0,0); //窗体的坐标为(0,0)
this.Opacity = 0.7; //窗体的不透明度为0.7
然后将窗体画圆(画圆三部曲)
别忘了在画圆之前先引用画圆的命名空间
//画圆三部曲
GraphicsPath path = new GraphicsPath(); //第二部 创建画圆的图形对象
path.AddEllipse(0,0,this.Width,this.Height);//第三部 开始画圆
this.Region = new Region(path); //第一部 将画的圆与窗体进行关联
为小球窗体添加一个timer组件
打开timer1组件
对timer1组件进行编程
在开始之前先赋值一个 x 和 y
我们是利用控制 left 和 top 的加减来实现对小球的控制控制的在小球运动过程中 left 和 top 的加减情况如图
由此可以看出第一次运动和第二次运动相比的区别是y的值由+=y变成了-=y
要想令y变为-y 我们可以将y每次都乘以-1 这样 top +=y就变成了 top -=y
第二次运动与第三次运动的道理是一样的只是将变换的对象由y变成了x
所以我们只需要将x每次都乘以-1就可以了
第三次运动到第四次运动是要将-y变成+y 我们也是每次讲-y乘以-1就可以变成+y了所以
第三次运动到第四次运动与第一次到第二次运动的情况是一样的
第四次运动到第一次运动与第二次到第三次运动的情况是一样的
在 if 语句中我们可以加入" || "表示或者的意思
所以代码为
this.Left += x;
this.Top += y;
if (this.Top+this.Height>=Screen.PrimaryScreen.WorkingArea.Height || this.Top<=0)
{
y *= -1;
}
if (this.Left+this.Width>=Screen.PrimaryScreen.WorkingArea.Width || this.Left<=0)
{
x *= -1;
}
启动调试