此代码只是改变位置,而不是滑动。
我现在正在使用它:
for (int i = 740; i == 740; i++)
{
panel2.Location = new Point(panel2.Location.X - i, panel2.Location.Y);
}
如何慢慢滑动面板?
答案 0 :(得分:0)
现在,正如我在评论中所说,你真的需要使用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),以便在屏幕上看不到它。反过来会隐藏它。
这仍然会有点不稳定,但它不会像当前代码一样隐藏。
答案 1 :(得分:0)
如果您要滑动面板,请尝试执行此操作
试试这段代码:
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);
}