現在、C# アプリケーションを開発しています。今、私は単純なスライダーを実現しようとしています:
|--------------------------|
| |
| |--------------------| |
| | | |
| | Panel1 | |
| | Panel2 | |
| | | |
| |--------------------| |
| x x x |
|--------------------------|
まったく同じサイズの 2 つのパネルがあります。Panel1 は、境界線を表示し、動的に交換される panel2 の境界を設定するために必要です。
2 番目の x をクリックすると、panel2 が左に移動し、panel3 が右から来て、左に移動します。
基本的に私は次のコードを持っています:
Panel panel2 = panelArray[0];
Panel panel3 = panelArray[1];
次のコードでスライドを実行する必要があります。
for (int i = 0; i <= 100; i++)
{
panel2.Location = new Point(panel2.Location.X - i, panel2.Location.Y);
System.Threading.Thread.Sleep(10);
}
for (int i = 0; i <= 100; i++)
{
panel3.Location = new Point(100 - i, panel3.Location.Y);
System.Threading.Thread.Sleep(10);
}
どういうわけか、最初のパネルは完全にスライドアウトされていますが、パネル 2 はスライドしていません。ループが実行された後に表示されます。
panel2 がスライドを実行していない理由は何ですか? 私はWinFormsを使用しています。