簡體   English   中英

C#如何滑動面板

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM