TableLayoutPanel.OnCellPaint(TableLayoutCellPaintEventArgs) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当单元格应该刷新时,接收调用。
protected:
virtual void OnCellPaint(System::Windows::Forms::TableLayoutCellPaintEventArgs ^ e);
protected virtual void OnCellPaint (System.Windows.Forms.TableLayoutCellPaintEventArgs e);
abstract member OnCellPaint : System.Windows.Forms.TableLayoutCellPaintEventArgs -> unit
override this.OnCellPaint : System.Windows.Forms.TableLayoutCellPaintEventArgs -> unit
Protected Overridable Sub OnCellPaint (e As TableLayoutCellPaintEventArgs)
参数
示例
下面的代码示例演示如何重写 OnCellPaint 方法以为单元格创建自定义外观。
public class DemoTableLayoutPanel : TableLayoutPanel
{
protected override void OnCellPaint(TableLayoutCellPaintEventArgs e)
{
base.OnCellPaint(e);
Control c = this.GetControlFromPosition(e.Column, e.Row);
if ( c != null )
{
Graphics g = e.Graphics;
g.DrawRectangle(
Pens.Red,
e.CellBounds.Location.X+1,
e.CellBounds.Location.Y + 1,
e.CellBounds.Width - 2, e.CellBounds.Height - 2);
g.FillRectangle(
Brushes.Blue,
e.CellBounds.Location.X + 1,
e.CellBounds.Location.Y + 1,
e.CellBounds.Width - 2,
e.CellBounds.Height - 2);
};
}
}
Public Class DemoTableLayoutPanel
Inherits TableLayoutPanel
Protected Overrides Sub OnCellPaint( _
ByVal e As System.Windows.Forms.TableLayoutCellPaintEventArgs)
MyBase.OnCellPaint(e)
Dim c As Control = Me.GetControlFromPosition(e.Column, e.Row)
If c IsNot Nothing Then
Dim g As Graphics = e.Graphics
g.DrawRectangle( _
Pens.Red, _
e.CellBounds.Location.X + 1, _
e.CellBounds.Location.Y + 1, _
e.CellBounds.Width - 2, _
e.CellBounds.Height - 2)
g.FillRectangle( _
Brushes.Blue, _
e.CellBounds.Location.X + 1, _
e.CellBounds.Location.Y + 1, _
e.CellBounds.Width - 2, _
e.CellBounds.Height - 2)
End If
End Sub
End Class