2013-04-09 13 views
0

滾動時在TableLayoutPanel中,在一旦通過功能周圍突出顯示一個紅色矩形的行中的一個:保持附圖上TableLayoutPanel中

ControlPaint.DrawBorder(MyTableLayoutPanel.CreateGraphics, RowRectangle, Color.Red, ButtonBorderStyle.Solid) 

當我滾動面板,矩形消失。

如何在滾動後保留它而不必在TLP.Paint事件上重繪它?

我已經嘗試過:

DrawRectangle() 
MyTableLayoutPanel.Invalidate() 'And also Invalidate(True) 

但它不工作;甚至最壞的情況是,Invalidate會在做任何事之前清除矩形。

回答

0

CreateGraphics是一個非常臨時的圖紙。您應該使用該繪畫事件中的圖形對象:

Private Sub MyTableLayoutPanel_Paint(sender As Object, e As PaintEventArgs) _ 
            Handles MyTableLayoutPanel.Paint 

    ControlPaint.DrawBorder(e.Graphics, rowRectangle, Color.Red, _ 
          ButtonBorderStyle.Solid) 
+0

我無法使用該事件。 – StefanoObjektum 2013-04-09 14:29:16

+0

@StefanoObjektum ...原因是? – LarsTech 2013-04-09 14:30:16