次のように定義/構築された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);