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名称


我尝试过这样的东西,但似乎我可以访问图像时,它绘制的细胞,但我需要能够访问图像时,我右键单击,显示和隐藏它。有办法做到这一点吗?

你链接的问题怎么办?到目前为止你尝试了什么?我用代码更新了我的帖子。