[英]C# how to slide a panel
這段代碼只是在改變位置,而不是滑動。
我目前正在使用此:
for (int i = 740; i == 740; i++)
{
panel2.Location = new Point(panel2.Location.X - i, panel2.Location.Y);
}
如何緩慢滑動面板?
現在,正如我在評論中所述,您確實需要使用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),因此在屏幕上根本不可見。 相反會隱藏它。
這仍然有些斷斷續續,但不會像您當前的代碼一樣將其隱藏 。
如果您只是要滑動面板,請嘗試這樣做
試試這個代碼:
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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.