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

来源:http://www.codeproject.com/KB/grid/Datagridview_BackImage.aspx

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

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

 

你可能感兴趣的:(datagridview)