来源:http://www.codeproject.com/KB/grid/Datagridview_BackImage.aspx
VB.NET
Imports System.ComponentModel
Imports System.Drawing
Public Class UserDataGridView
Inherits Windows.Forms.DataGridView
Private m_Image As Image
Public Sub New()
'Me.m_Image = Drawing.Image.FromFile("C:\BG.jpg")
End Sub
Protected Overrides Sub PaintBackground(ByVal graphics As Graphics, ByVal clipBounds As Rectangle, ByVal gridBounds As Rectangle)
MyBase.PaintBackground(graphics, clipBounds, gridBounds)
graphics.DrawImage(Me.m_Image, gridBounds)
End Sub
'添加图片属性
Public Property BackImage() As Drawing.Image
Get
Return Me.m_Image
End Get
Set(ByVal value As Drawing.Image)
Me.m_Image = value
MyBase.Refresh()
End Set
End Property
End Class
C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace UserDataGridView
{
public partial class UserDataGridView : DataGridView
{
private Image m_Image;
public UserDataGridView()
{
InitializeComponent();
//this.m_Image = Image.FromFile("C:\\BG.jpg");
}
/// <summary>重写PaintBackground</summary>
protected override void PaintBackground(Graphics graphics, Rectangle clipBounds, Rectangle gridBounds)
{
base.PaintBackground(graphics, clipBounds, gridBounds);
graphics.DrawImage(this.m_Image, gridBounds);
}
/// <summary>设置背景图片</summary>
public Image BackImage
{
get
{
return this.m_Image;
}
set
{
this.m_Image = value;
base.Refresh(); // 重新加载
}
}
}
}