DataGridView 的多种样式列控件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

继续发布VS下DataGridView 的多种样式列控件

DataGridView 无论是美观与功能方面都是DataGrid所不能比的,应该说DataGridView 不是DataGrid的升级,因为DataGridView 使用了一套全新的构建方式,引入了DataGridViewCell ,DataGridViewColumn,DataGridViewRow,等,新的概念,也使编程更容易了,它提供了

DataGridViewTextBoxColumn,DataGridViewImageColumn,DataGridLinkColumn,Da taGridViewComboBoxColumn,DataGrid

ViewButtonColumn,DataGridViewCheckBoxColumn,等样式列

但我们常用的远不只这些样式列,所以我不想把所有的样式列都给大家做出来,我只是想抛砖引玉通过我自己做的四个样式列来让大家掌握自定义DataGridView样式列的方法.由于时间仓促功能不是很完善,望大家见谅,好了大家先看看4个控件的效果.

一:DataGridViewMaskedTextBoxColumn(正则表达式样式列)

using System;

using System.Collections.Generic;

using ponentModel;

using System.Drawing;

using System.Data;

using System.Text;

using System.Windows.Forms;

using System.Drawing.Design;

namespace WindowsApplication23

{

//Cell编辑类,实现IDataGridViewEditingControl接口,可参照ComboBoxEditingCo ntrol的写法

public class DataGridViewMaskedTextBoxEditingControl:MaskedTextBox,IDat

aGridViewEditingControl

{

protected int rowIndex;

protected DataGridView dataGridView;

protected bool valueChanged = false;

public DataGridViewMaskedTextBoxEditingControl()

{

base.TabStop = false;

}

//重写基类(MakedTextBox)的OnTextChanged方法

protected override void OnTextChanged(EventArgs e)

{

base.OnTextChanged(e);

NotifyDataGridViewOfValueChange();

}

// 当text值发生变化时,通知DataGridView

private void NotifyDataGridViewOfValueChange()

{

valueChanged = true;

dataGridView.NotifyCurrentCellDirty(true);

}

///

///设置对齐方式

///

///

///

private static HorizontalAlignment translateAlignment(DataGridViewConten tAlignment align)

{

switch (align)

{

case DataGridViewContentAlignment.TopLeft:

case DataGridViewContentAlignment.MiddleLeft:

case DataGridViewContentAlignment.BottomLeft:

return HorizontalAlignment.Left;

case DataGridViewContentAlignment.TopCenter:

case DataGridViewContentAlignment.MiddleCenter:

case DataGridViewContentAlignment.BottomCenter:

return HorizontalAlignment.Center;

case DataGridViewContentAlignment.TopRight:

case DataGridViewContentAlignment.MiddleRight:

case DataGridViewContentAlignment.BottomRight: return HorizontalAlignment.Right;

}

return HorizontalAlignment.Left;

}

///

///在Cell被编辑的时候光标显示

///

public Cursor EditingPanelCursor

{

get

{

return Cursors.IBeam;

}

}

///

///获取或设置所在的DataGridView

///

public DataGridView EditingControlDataGridView

{

get

{

return dataGridView;

}

set

{

dataGridView = value;

}

}

///

///获取或设置格式化后的值

///

public object EditingControlFormattedValue

{

set

{

Text = value.ToString();

NotifyDataGridViewOfValueChange();

}

get

相关文档
最新文档