这段代码只是改变位置,而不是滑动。
我现在正在使用这个:
for (int i = 740; i == 740; i++)
{
panel2.Location = new Point(panel2.Location.X - i, panel2.Location.Y);
}
如何缓慢滑动面板?
如果您只是要滑动面板,请尝试执行此操作
试试这个代码:
Panel panelArray = new Panel[];
Panel panel2 = panelArray[0];
for (int i = 0; i <= 100; i++)
{
panel2.Location = new Point(panel2.Location.X - i, panel2.Location.Y);
System.Threading.Thread.Sleep(10);
}
现在,正如我在评论中所说,您确实需要使用float
值,因此您确实需要绘制它。但是,当前的实现只进行一次迭代。当前循环可以被翻译成这样:
panel2.Location = new Point(panel2.Location.X - 740, panel2.Location.Y);
考虑这样一个循环将其滑出:
for (int i = -(panel2.Width); i < 0; i++)
{
panel2.Location = new Point(i, panel2.Location.Y);
}
该算法假设您已将 设置Location
为-
它的宽度(例如 -740x),因此它在屏幕上根本不可见。反过来会隐藏它。
这仍然会有点不稳定,但它不会像您当前的代码一样隐藏它。