Winforms:在鼠标悬停时更改Datagridview图像

时间:2010-09-25 15:00:34

标签: c# winforms image datagridview

我在鼠标悬停时更改DataGridViewImageCell中的图像时遇到问题。根据一些来源,它应该像将单元格的值更改为所需图像一样简单。但是,当我尝试这个时似乎没有任何事情发生。这是代码:

private void dgvThingProgramsOnPlace_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == dgvThingProgramsOnPlace.ColumnCount - 1)
            {
                dgvThingProgramsOnPlace.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = Image.FromFile(@"C:\Users\suan\Desktop\temp\icons\raster\gray_dark\x_16x16_red_custom.png");
            }
        }

有什么想法吗?

更新:我检查了调试器并且断点被击中。图像路径也明显不同。问题是,新图像值由于某种原因未被分配。在调试器中,前值==后值......奇怪

2 个答案:

答案 0 :(得分:2)

哇终于搞定了。事实证明我意外地为该dataGridView打开了VirtualMode。

答案 1 :(得分:1)

你应该尝试一些事情:

  1. 调用网格刷新并查看是否有任何事情发生。
  2. 执行此代码后检查控制台是否有错误。
  3. Application.DoEvents也可以完成这项工作
  4. 希望这会有所帮助。