如何使用线程在VS中移动Powerpack椭圆形

时间:2019-04-18 19:12:46

标签: c# multithreading

我正在尝试创建一个模型,该模型的作用类似于一个有趣的项目的亚原子粒子。我知道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();,因为它在表单类中,但是结果相同。

感谢您的宝贵时间和帮助,谢谢!

0 个答案:

没有答案