我正在尝试创建一个模型,该模型的作用类似于一个有趣的项目的亚原子粒子。我知道C#并非完全适合这种工作的最佳编码语言,但是由于我对编码还很陌生,直到现在C#和Java我才决定尝试使用C#。
当前,我要做的是使表示粒子的椭圆形被动向带相反电荷的粒子移动。为了使它始终在后台运行,我决定使用线程,但是当我运行简单的测试以验证用线程移动椭圆形的概念时,它根本没有移动,我也不明白为什么。< / p>
我通常使用
设置线程Thread thrFOA = new Thread(new ThreadStart(ForceOfAttraction));
然后执行我的测试背景功能:
public void ForceOfAttraction()
{
ovalShape1.SetBounds(ovalShape1.Location.X + 1, ovalShape1.Location.Y, ovalShape1.Width, ovalShape1.Height);
ovalShape1.Refresh();
}
所以我认为这样做应该使椭圆缓慢地在屏幕上移动,一次移动一个像素,但是根本没有任何移动,我不明白为什么不这样做。我也尝试了this.Refresh();
而不是ovalShape1.Refresh();
,因为它在表单类中,但是结果相同。
感谢您的宝贵时间和帮助,谢谢!