internal TreeColumn GetColumnDividerAt(Point p)
{
if (p.Y > ColumnHeaderHeight)
return null;
int x = -OffsetX;
TreeColumn prevCol = null;
Rectangle left, right;
foreach (TreeColumn col in Columns)
{
if (col.IsVisible)
{
if (col.Width > 0)
{
left = new Rectangle(x, 0, DividerWidth / 2, ColumnHeaderHeight);
right = new Rectangle(x + col.Width - (DividerWidth / 2), 0, DividerWidth / 2, ColumnHeaderHeight);
if (left.Contains(p) && prevCol != null)
return prevCol;
else if (right.Contains(p))
return col;
}
prevCol = col;
x += col.Width;
}
}
left = new Rectangle(x, 0, DividerWidth / 2, ColumnHeaderHeight);
if (left.Contains(p) && prevCol != null)
return prevCol;
return null;
}