C# 使用vb.net实现Windows窗体中数据网格视图的水印
我想在数据网格视图中添加图像作为水印,如附图所示 背景图像没有数据网格视图属性来设置图片,然后设置其不透明度。我找了第三方提供我发现telerik提供的水印功能,但这不是免费的 我需要免费的第三方工具的数据网格视图水印或一种方式来添加水印自己不使用任何工具 提前感谢试试这个博客- 如果您只想将空单元格中的水印作为DataGridView控件中的水印,那么可以在绘制单元格时绘制内容,上面列出的文章只是介绍了如何为DataGridView自定义水印列和单元格C# 使用vb.net实现Windows窗体中数据网格视图的水印,c#,vb.net,datagridview,windows-forms-designer,watermark,C#,Vb.net,Datagridview,Windows Forms Designer,Watermark,我想在数据网格视图中添加图像作为水印,如附图所示 背景图像没有数据网格视图属性来设置图片,然后设置其不透明度。我找了第三方提供我发现telerik提供的水印功能,但这不是免费的 我需要免费的第三方工具的数据网格视图水印或一种方式来添加水印自己不使用任何工具 提前感谢试试这个博客- 如果您只想将空单元格中的水印作为DataGridView控件中的水印,那么可以在绘制单元格时绘制内容,上面列出的文章只是介绍了如何为DataGridView自定义水印列和单元格 如果要用图像覆盖单元格,可读性将受到很
如果要用图像覆盖单元格,可读性将受到很大影响 但是您可以在嵌套的
面板中添加图像
,并且可以在添加第一行或删除最后一行时隐藏并显示图像
或您始终可以显示它,但将其移动到最后一行下
代码很简单;但是,当添加到多行时,嵌套的面板将移出DataGridView
。。本例假设所有行的高度都相同
设置嵌套:
panel1.Parent = dataGridView1;
panel1.Location = new Point(1, dataGridView1.ColumnHeadersHeight + 1);
必要时移动面板:
void panelMove()
{
int rh = dataGridView1.RowCount == 0 ? 0 : dataGridView1.Rows[0].Height;
panel1.Location = new Point(1,
dataGridView1.ColumnHeadersHeight + 1 + dataGridView1.RowCount * rh);
}
例如:
private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
panelMove()
}
private void dataGridView1_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
{
panelMove()
}
我以前也经历过这种情况,但这对我没有好处。你想只在没有行的情况下显示图像吗?我想在有行或无行的情况下显示这两种情况下的图像,但我已经解决了我的问题,我将添加答案感谢你的支持