protected internal virtual void OnSelectionChanged(SelectionEventArgs e)
{
if (this.CanRaiseEvents)
{
if (e.OldSelectionBounds != Rectangle.Empty)
{
Rectangle invalidateRect = new Rectangle(this.DisplayRectToClient(e.OldSelectionBounds.Location), e.OldSelectionBounds.Size);
if (this.HeaderStyle != ColumnHeaderStyle.None)
{
invalidateRect.Y += this.HeaderHeight;
}
this.InvalidateRect(invalidateRect);
}
if (e.NewSelectionBounds != Rectangle.Empty)
{
Rectangle invalidateRect = new Rectangle(this.DisplayRectToClient(e.NewSelectionBounds.Location), e.NewSelectionBounds.Size);
if (this.HeaderStyle != ColumnHeaderStyle.None)
{
invalidateRect.Y += this.HeaderHeight;
}
this.InvalidateRect(invalidateRect);
}
if (SelectionChanged != null)
{
SelectionChanged(this, e);
}
}
}