スライド効果でコントロールを別のコントロールの位置に移動しようとしています。以下のコードは機能しますが、期待どおりにスムーズではありません。1 ピクセルの移動ごとに再描画が必要であり、それがこの問題に関係していることはわかっています。スムーズにするために何かできることはありますか?
void changePage(Control currentPage, Control newPage)
{
int curPageStartX = currentPage.Location.X;
newPage.Location = new Point(currentPage.Size.Width + curPageStartX, currentPage.Location.Y);
while (newPage.Location.X > curPageStartX)
{
currentPage.Location = new Point(currentPage.Location.X - 1, currentPage.Location.Y);
newPage.Location = new Point(newPage.Location.X - 1, newPage.Location.Y);
}
}