当前位置: 代码迷 >> Windows Mobile >> .netcf 控件 平滑移动有关问题~
  详细解决方案

.netcf 控件 平滑移动有关问题~

热度:471   发布时间:2016-04-25 07:45:08.0
.netcf 控件 平滑移动问题~~~
我想实现一个控件的移动,如下代码
C# code
private void button1_Click(object sender, EventArgs e)        {            //this.openFileDialog1.ShowDialog();            //a = this.openFileDialog1.FileName;            while (true)            {                if (this.button2.Top < 5)//判断是否靠在窗体的最上方,如果是,给出提示                {                    MessageBox.Show("已到顶");                    return;                }                else                {                    button2.Top -= 1;                }                this.Update();            }        }

但是 这个Button2在移动过程中会闪的很厉害,在pc上就不会闪,而且移动速度没有pc上移动的快,是不是Windows Mobile的CUP不行?不知道有没有什么方法可以实现控件高速、平滑移动的效果。

------解决方案--------------------
不是WM的CPU不行,而是楼主的实现方法有问题。
个人认为,在循环中让控件刷新,不太合乎逻辑。
应该是创建个Timer,让Timer来触发刷新,设定个合理的时间间隔即可。
------解决方案--------------------
LZ这样的循环很容易CPU100%
------解决方案--------------------
顶一下。我也觉得不应该试用while(true)来进行控件的移动
------解决方案--------------------
移动的间距过小了,我帮你算了一下,QVGA的屏幕,从低部一直移动到顶部,要3秒左右(200MHz的CPU)。
只进行计算,不刷新也界面,也要1秒钟多一点。

建议你每次减3~5个像素。