C# Datagridview在标题单元格中显示和隐藏图像,或更改标题单元格中的边框颜色
如何在标题单元格中添加一个小图标而不更改其格式和文本?我想在鼠标右键单击时切换显示/隐藏标题单元格中的图像 我的问题不在于鼠标事件,但我不知道如何在标题单元格中显示和隐藏图像。 如果这是不可能的,我想切换边框颜色或其他东西,让用户可以知道发生了什么事 我已经尝试过这样的代码: 我的代码:C# Datagridview在标题单元格中显示和隐藏图像,或更改标题单元格中的边框颜色,c#,winforms,image,datagridview,toggle,C#,Winforms,Image,Datagridview,Toggle,如何在标题单元格中添加一个小图标而不更改其格式和文本?我想在鼠标右键单击时切换显示/隐藏标题单元格中的图像 我的问题不在于鼠标事件,但我不知道如何在标题单元格中显示和隐藏图像。 如果这是不可能的,我想切换边框颜色或其他东西,让用户可以知道发生了什么事 我已经尝试过这样的代码: 我的代码: if (e.ColumnIndex == 1 && e.RowIndex == -1) { e.PaintBackground(e.Cli
if (e.ColumnIndex == 1 && e.RowIndex == -1)
{
e.PaintBackground(e.ClipBounds, false);
Point pt = e.CellBounds.Location; // where you want the bitmap in the cell
int offset = (e.CellBounds.Width - this.imageList1.ImageSize.Width) / 2;
pt.X += offset;
pt.Y += 1;
this.imageList1.Draw(e.Graphics, pt, 0);
e.Handled = true;
}
一个小问题是,这段代码删除了CellHeaders文本,我可以通过将列名存储在字符串数组中并通过e.ColumnIndex显示来解决这个问题:
Font drawFont = new Font("Microsoft Sans Serif", 10);
SolidBrush drawBrush = new SolidBrush(Color.Black);
e.Graphics.DrawString(storredColNames[e.ColumnIndex], drawFont, drawBrush, e.CellBounds);
有没有其他方法来保存Col名称
我尝试过这样的东西,但似乎我可以访问图像时,它绘制的细胞,但我需要能够访问图像时,我右键单击,显示和隐藏它。有办法做到这一点吗?你链接的问题怎么办?到目前为止你尝试了什么?我用代码更新了我的帖子。