在TableLayoutPanel中,其中一行突出显示,并在函数周围显示一个红色矩形:
ControlPaint.DrawBorder(MyTableLayoutPanel.CreateGraphics, RowRectangle, Color.Red, ButtonBorderStyle.Solid)
滚动面板时,矩形消失。
如何在滚动后保留它而不必在TLP.Paint事件上重绘它?
我已经尝试过了:
DrawRectangle()
MyTableLayoutPanel.Invalidate() 'And also Invalidate(True)
但它不起作用;更糟糕的是,使用Invalidate,它会在做任何事情之前清除矩形。
答案 0 :(得分:0)
CreateGraphics
是一个非常临时的图画。您应该使用该paint事件中的Graphic对象:
Private Sub MyTableLayoutPanel_Paint(sender As Object, e As PaintEventArgs) _
Handles MyTableLayoutPanel.Paint
ControlPaint.DrawBorder(e.Graphics, rowRectangle, Color.Red, _
ButtonBorderStyle.Solid)