惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
C
Check Point Blog
博客园_首页
B
Blog
D
Docker
U
Unit 42
量子位
I
InfoQ
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
GbyAI
GbyAI
L
LangChain Blog
云风的 BLOG
云风的 BLOG
博客园 - Franky
美团技术团队
T
The Blog of Author Tim Ferriss
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
Vercel News
Vercel News
Recent Announcements
Recent Announcements
雷峰网
雷峰网
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Google DeepMind News
Google DeepMind News

博客园 - james.dong

初次使用T4引擎生成数据库表实体 - james.dong - 博客园 加快大表关联查询的速度(oracle) DataTable 排序 - james.dong - 博客园 查询oracle数据库中所有视图和表的信息 日期验证正规表达式( YYYY-MM-DD YYYY-MM-DD hh:mm:ss YYYY/MM/DD) windows2000server下 iis 无法下载 .exe , .dll文件的解决办法。 - james.dong oracle中创建自增字段 .net 序列化和反序列化自定义treenode类 LotusScript基础知识(二) LotusScript基本语法知识(一) LotusScript中Option 的含义 Lotusscript中Instr()函数的功能和用法 System.Xml.XmlDocument.SelectNodes() 查询不到节点问题? - james.dong - 博客园 Combox控件实现类似TextBox控件的ReadOnly=true时的背景颜色和字体颜色!(WinForm) WPF 中的 BitmapEffect 的 各种样式 WPF相关文章汇总 使用List泛型,怎么排序 asp.net2.0解决用户控件图片相对路径出错的问题,ResolveUrl的用法 window.showModalDialog()时没有显示修改后的数据 - james.dong - 博客园
C#中datagridview使用技巧系列谈(-)让输入焦点从左到右收藏
james.dong · 2009-02-24 · via 博客园 - james.dong

 问题的提出

      经常使用的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;
            }
        }