我做了个没边框的窗口,在Paint里,画了边框和填颜色,移动窗口时
边框周围会出好多线,也就是刷新问题,请问怎么解决? 
                         private   void   FormCustom_Paint(object   sender,   PaintEventArgs   e) 
                         { 
                                     Graphics   g   =   e.Graphics; 
                                     ControlPaint.DrawBorder(g,   this.ClientRectangle,   SystemColors.Highlight,   ButtonBorderStyle.Solid); 
                         } 
------解决方案--------------------为窗体开启双缓冲.
------解决方案--------------------//不知道你是通过什么方法移动的? 
 //记得Invalidate();刷新 
 //或者用API的方式移动窗体,我测试没有出现你说的情况   
 private void Form1_Paint(object sender, PaintEventArgs e) 
 { 
     Graphics g = e.Graphics; 
     ControlPaint.DrawBorder(g, ClientRectangle,  
         SystemColors.Highlight, ButtonBorderStyle.Solid); 
 }   
 [DllImport( "User32.DLL ")] 
 public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam); 
 [DllImport( "User32.DLL ")] 
 public static extern bool ReleaseCapture(); 
 public const uint WM_SYSCOMMAND = 0x0112; 
 public const int SC_MOVE = 61456; 
 public const int HTCAPTION = 2;   
 private void Form1_MouseDown(object sender, MouseEventArgs e) 
 { 
     ReleaseCapture(); 
     SendMessage(Handle, WM_SYSCOMMAND, SC_MOVE | HTCAPTION, 0); 
 } 
------解决方案--------------------把如下的代码放到你的控件里试试看(VS2005): 
 protected override void OnPaint(PaintEventArgs e) 
 { 
 	base.OnPaint(e); 
 	drawForm(e.Graphics); 
 } 
 protected override void OnSizeChanged(EventArgs e) 
 { 
 	base.OnSizeChanged(e); 
 	Rectangle rect = this.ClientRectangle; 
 	rect.Inflate(-10, -10);   
 	Graphics _g = this.CreateGraphics(); 
 	drawForm(_g); 
 }   
 private void drawForm(Graphics _g) 
 { 
 	Rectangle rect = this.ClientRectangle; 
 	rect.Inflate(-10, -10); 
 	BufferedGraphicsContext context = BufferedGraphicsManager.Current; 
 	BufferedGraphics bg = context.Allocate(_g, this.ClientRectangle); 
 	bg.Graphics.Clear(this.BackColor); 
 	bg.Graphics.DrawRectangle(SystemPens.ControlText, rect); 
 	bg.Render(); 
 }