0

TableLayoutPanel では、行の 1 つが一度に強調表示され、関数を囲む赤い四角形が表示されます。

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

パネルをスクロールすると、長方形が消えます。

TLP.Paint イベントで再描画せずに、スクロール後に保持するにはどうすればよいですか?

私はすでに試しました:

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

しかし、うまくいきません。さらに悪いことに、Invalidate を使用すると、何かを行う前に四角形がクリアされます。

4

1 に答える 1

0

CreateGraphicsは非常に一時的な図面です。そのペイント イベントの Graphic オブジェクトを使用する必要があります。

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

  ControlPaint.DrawBorder(e.Graphics, rowRectangle, Color.Red, _
                          ButtonBorderStyle.Solid)
于 2013-04-09T14:01:07.840 に答える