У меня есть класс, который расширяет TableLayoutPanel, определенный/построенный следующим образом:
public class MyTableLayout : TableLayoutPanel
{
public MyTableLayout()
{
this.ColumnCount = 5;
this.RowCount = 1;
this.CellBorderStyle = TableLayoutPanelCellBorderStyle.Outset;
}
}
Когда моя таблица нарисована, она имеет границы вокруг всех 5 столбцов (как и следовало ожидать, учитывая приведенный выше код для установки CellBorderStyle).
Есть ли способ предотвратить рисование границы вокруг первого столбца?
Я знаю, что вы можете добавить обратный вызов CellPaint:
this.CellPaint += tableLayoutPanel_CellPaint;
и в этом обратном вызове вы можете делать такие вещи, как изменение цвета границы для определенного столбца:
private void tableLayoutPanel_CellPaint(object sender, TableLayoutCellPaintEventArgs e)
{
if (e.Column == 0 && e.Row == 0)
{
e.Graphics.DrawRectangle(new Pen(Color.Red), e.CellBounds);
}
}
Но как вообще нарисовать прямоугольник «Нет»?
Я попытался установить цвет на Color.Empty, но это не сработало:
e.Graphics.DrawRectangle(new Pen(Color.Empty), e.CellBounds);