DataGridView のあるセルの境界線スタイルを変更する
DataGridView のあるセルの境界線スタイルを変更するには、
- CellPainting イベント で、
- 変更したいセルの AdvancedBorderStyle を設定する。
次のプログラムは、セル (1, 1) の境界線を DataGridViewAdvancedCellBorderStyle.InsetDouble に設定する。e.AdvancedBorderStyle で、Top と Left は設定した内容が表示されたが、Bottom と Right は表示されなかった。そのため、下のセルと次のセルの Top と Left を設定した。
using System; using System.Windows.Forms; namespace DataGridViewCellBoundary3 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { dataGridView1.Columns.Add("Column 1", "Column 1"); dataGridView1.Columns.Add("Column 2", "Column 2"); dataGridView1.Columns.Add("Column 3", "Column 3"); dataGridView1.Rows.Add(); dataGridView1.Rows.Add(); dataGridView1.Rows.Add(); } private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { if (e.ColumnIndex == 1 && e.RowIndex == 1) { e.AdvancedBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.InsetDouble; e.AdvancedBorderStyle.Left = DataGridViewAdvancedCellBorderStyle.InsetDouble; } if (e.ColumnIndex == 2 && e.RowIndex == 1) { e.AdvancedBorderStyle.Left = DataGridViewAdvancedCellBorderStyle.InsetDouble; } if (e.ColumnIndex == 1 && e.RowIndex == 2) { e.AdvancedBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.InsetDouble; } } } }