我有一个扩展 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);