



























问题的提出
经常使用的datagridview控件,当你利用它来输入数据时,如果你按下Enter 时,系统默认的是将输入焦点移动至当前列的下一行,但按中国人日常的习惯,我们希望它从左到右进行输入,怎么办呢?
这里我们就要修改系统的两个默认键盘时间,以实现我们自如的控制datagridview埪件对回车Press事件的处理方式,具体怎么操作呢?
新建一用户控件-该用户埪件继承于datagridview,在该埪件的代码中重写ProcessDialogKey, ProcessDataGridViewKey两个事件,让将该用户控件添加到你的项目中就可以应用了。
Code
(二)DataGridView上移下移当前行
public DataGridView _Dgv = null;
/// <summary>
/// 设置上移下移操作的数据源控件
/// </summary>
public DataGridView Dgv
{
get { return _Dgv; }
set { _Dgv = value; }
}
protected virtual void First()
{
if (_Dgv == null) return;
CurrencyManager cm = this.BindingContext[_Dgv.DataSource] as CurrencyManager;
if (cm != null)
{
cm.Position = 0;
}
}
public virtual void Previous()
{
if (_Dgv == null) return;
CurrencyManager cm = this.BindingContext[_Dgv.DataSource] as CurrencyManager;
if (cm != null)
{
cm.Position--;
}
}
protected virtual void Next()
{
if (_Dgv == null) return;
CurrencyManager cm = this.BindingContext[_Dgv.DataSource] as CurrencyManager;
if (cm != null)
{
cm.Position++;
}
}
protected virtual void Last()
{
if (_Dgv == null) return;
CurrencyManager cm = this.BindingContext[_Dgv.DataSource] as CurrencyManager;
if (cm != null)
{
cm.Position = cm.Count;
}
}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。