[VB.NET,C#] - 用户自定义控件(含源代码) - DataGridView添加背景图片

来源: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(); // 重新加载
}
}
}
}

 

posted @ 2010-04-20 14:05  炎峰森林影  阅读(4375)  评论(0编辑  收藏  举报