我正在尝试在 Visual Studio Express 中创建一个表格,如下所示:
我正在使用一个tableLayoutPanel
. 如何tableLayoutPanel
使用图片中的灰度样式为第一行着色,并可能在第一行的每个单元格中添加一些文本?
ADataGridView
会更好地满足您对样式定制的需求:
您可以为所需的任何行设置BackgroundColor
and 。ForeColor
DefaultCellStyle
您可以使用此事件方法绘制特定的单元格:
private void tableLayoutPanel_CellPaint(object sender, TableLayoutCellPaintEventArgs e)
{
if (e.Row == 0 && e.Column == 1)
{
e.Graphics.FillRectangle(new SolidBrush(Color.Black), e.CellBounds);
}
}
只需绘制您想要的行中的所有单元格。
您可以考虑使用DataGridView
可以单独为每行着色并设置每列文本的位置。
有关更多信息,您可能需要查看此 stackoverflow 问题
你为什么不使用一个ListView
?
它看起来和你的图片一模一样,你可以在第一列的任何单元格和图标中放置文本,有一个标题,甚至是网格线......
将其View
属性设置为View.Details
以获得所需的行为。