Windowsフォームで以下のコードを使用してボタンを移動しています。ただし、ボタンが動くとちらつきます。SmoothingMode.HighQuality と DoubleBuffer を使用していますが。
ボタンのちらつきを減らすにはどうすればよいですか?
public Form1()
{
InitializeComponent();
this.DoubleBuffered = true;
this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);
this.UpdateStyles();
}
private void Form1_Load(object sender, EventArgs e)
{
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
this.DoubleBuffered = true;
if (button1.Location.X > 10 && button1.Location.X < 550)
{
Point osp = new Point(button1.Location.X + 1, button1.Location.Y);
button1.Location = osp;
}
else
{
Point osp = new Point(11, button1.Location.Y);
button1.Location = osp;
}
}