在C#Winform应用程序中设置DataGridView行背景图像

时间:2013-12-29 13:59:40

标签: c# winforms background-image

我正在开发一个Windows窗体应用程序,我需要将背景图像设置为数据网格视图的数据行。例如,如果我的数据网格中有4行,我想将图像重复到行背景而不是整个网格视图。图像应设置为背景图像,以便我可以在图像上方显示文本。我怎么能实现这个目标?请帮忙。 提前致谢。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

Image img;

public Form1()
{
    InitializeComponent();
    img = Image.FromFile(@"C:\Pictures\1.jpg");
}

private void GV_Paint(object sender, PaintEventArgs e)
{
    e.Graphics.DrawImageUnscaled(img, new Point(0, 0));
}

答案 1 :(得分:0)

将图像添加到Visual Studio项目中的Resources

然后在MyDataGridView集合中(通过Designer或代码)DefaultCellStyle.BackColor = Transparent

最后为.RowPrePaint

添加事件处理程序
//In constructor
MyDataGridView.RowPrePaint += new EventHandler(MyDataGridView_RowPrePaint);

//Create event handler
private void MyDataGridView_RowPrePaint(Object sender, DataGridViewRowPrePaintEventArgs e)
{
    e.Graphics.DrawImage(My.Resources.MyImage, e.RowBounds);
}

如果您还需要设置DefaultCellStyle.SelectionBackColor = Transparent ...