日期:2014-05-19  浏览次数:21449 次

c# picturebox移动,很卡怎么解决?
在一个form上面移动picturebox,如果没有背景图片就没什么问题。

如果给form加上背景图片,那就会变得非常卡。

我在timer的tick事件里面移动picturebox

请问这个问题怎么解决?

------解决方案--------------------
DoubleBuffer
------解决方案--------------------
双缓存

------解决方案--------------------
双缓冲!
------解决方案--------------------
咦?我试了一下,我的程序里并没有像楼主所说的很卡啊。。。

------解决方案--------------------
public partial class Form1 : Form
{
int counts = 0;
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
timer1.Start();
counts = pictureBox1.Left;
}

private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = counts.ToString();;
counts++;
pictureBox1.Left = counts;
}
------解决方案--------------------
风过无痕
------解决方案--------------------
每次移动的时候,窗体都要重绘。
我想是窗体重绘引起的问题吧!
------解决方案--------------------
timer的interval是多少?
------解决方案--------------------
图片不要弄得很大一张bmp
用ps处理的小一点,尽量使用贴图来拼
------解决方案--------------------
在图片重绘的时候先把图片移到屏幕外面,等图片重绘完毕再把图片坐标改成原来的,这样就不会卡了!