public override void Refresh()
{
if (!InvokeRequired)
{
base.Refresh();
}
else
{
m_asyncImage = new System.Drawing.Bitmap(this.Width, this.Height);
Graphics g = Graphics.FromImage(m_asyncImage);
g.Clear(Color.White);
ps_.Draw(g, new Rectangle(0, 0, m_asyncImage.Width - 1, m_asyncImage.Height - 1));
m_drawAsyncImage = true;
BeginInvoke(new Action(base.Refresh));
}
}