我的表单中有dataGridView
,每列都是DataGridViewImageColumn
在每个单元格中都有一个JPG,我从这样的资源加载:
Image H1 = Properties.Ressources.H1_T;
dgMap[6, 0].Value = H1;
所以每个单元格都包含一个图像,我的问题是如何将文本放在上面?我只是想在右上角放一个✔标记。
我还有另一个问题,是否仍然可以突出显示包含图像的选定单元格?
编辑:
我找到了一种方法,只是用复选标记覆盖另一张图片......
Image primaryImage = (Image)dgMap[e.ColumnIndex, e.RowIndex].Value;
using (Graphics graphics = Graphics.FromImage(primaryImage))
{
using (Image overlayDone = Properties.Resources.done)
{
graphics.DrawImage(overlayDone, new Point(0, 0));
}
}
dgMap[e.ColumnIndex, e.RowIndex].Value = primaryImage;
所以我的问题是如何突出显示所选单元格?由于它是图像,因此用户无法看到选择
答案 0 :(得分:0)
虽然可能有多种解决方案可以做到这一点,而不是使用普通的图像控制,我使用的按钮具有从标准WPF按钮派生的自定义行为。通过这种方式,我可以在其上显示文本,并轻松单击它并突出显示所选图像。
编辑:
您可以使用DropShadowEffect
调整高光效果。
将此行为添加到用户单击:
DropShadowEffect SelectedEffect = new DropShadowEffect
{
Color = new Color { A = 0, R = 255, G = 0, B = 0 },
Direction = 320,
ShadowDepth = 1,
Opacity = 1,
RenderingBias = RenderingBias.Quality
};