新建一个用户控件,把代码复制进去,生成,就可以做成dll文件,后面要使用直接在项目里添加引用
代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace UserControl
{
public partial class CCDataGridView : DataGridView
{
bool _isFill=true;
bool _isEditOnEnter = true;
public CCDataGridView()
{
InitializeComponent();
}
/// <summary>
/// 判断是否把DG中的最后一行FILL整个窗体。默认值为True;
/// </summary>
[Description("判断是否把DataGridView中的最后一列Fill整个窗体。默认值为True")]
public bool IsFillForm
{
get
{
return _isFill;
}
set
{
_isFill = value;
}
}
/// <summary>
/// 是否将DataGridView的编辑模式设为EditOnEnter。默认值为True
/// </summary>
[Description("是否将DataGridView的编辑模式设为EditOnEnter。默认值为True")]
public bool IsEditOnEnter
{
get
{
return _isEditOnEnter;
}
set
{
_isEditOnEnter = value;
if (_isEditOnEnter)
{
this.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter;
}
else
{
this.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnKeystrokeOrF2;
}
}
}
protected override void OnPaint(PaintEventArgs pe)
{
if (IsFillForm)
{
//调整最后一列的宽度使其占据DataGridView的剩余部分
//for (int i = this.ColumnCount - 1; i >= 0; i--)
//{
// if (this.Columns[i].Visible)
// {
// this.Columns[i].MinimumWidth = 5;
// this.Columns[i].AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.NotSet;
// break;
// }
//}
}
// 调用基类 OnPaint
base.OnPaint(pe);
}
//显示行号
privat