在datagridview中按键盘的上,下,左,右不是可以自动变换单元格吗,我如何能够使他失效啊?也就是说要让在datagridview激活的情况下,按上,下,左,右后没有反应,使当前单元格不会发生移动,如何才能实现啊?谢谢

解决方案 »

  1.   


            protected override bool ProcessCmdKey(ref Message msg, Keys keyData)//重写键盘回车代码
            {
                if (keyData == Keys.Up)//上下左右
                {
                    return true;
                }
                else
                    return base.ProcessCmdKey(ref msg, keyData);
            }
      

  2.   

    用这个方法所有在一个窗体上的控件都不能用键盘操作了。我只想datagridview的键盘操作失效,其他的控件正常,应该怎么办啊?也是要重写吗?
      

  3.   

    将这个写在你的datagridview控件里面,相当于就是自定义个控件
      

  4.   


    public partial class MyDataGridView : DataGridView
        {
            public MyDataGridView()
            {
                InitializeComponent();
            }        protected override void OnPaint(PaintEventArgs pe)
            {
                // TODO: 在此处添加自定义绘制代码            // 调用基类 OnPaint
                base.OnPaint(pe);
            }        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)//重写键盘回车代码
            {
                if (keyData == Keys.Up)
                {
                    return true;
                }
                else
                    return base.ProcessCmdKey(ref msg, keyData);
            }    }
      

  5.   

    private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Up||e.KeyCode==Keys.Down||e.KeyCode==Keys.Left||e.KeyCode==Keys.Right)
                    e.Handled = true;
            }
      

  6.   

    public partial class MyDataGridView : DataGridView
    这个类在程序的什么地方可以找到啊?还是说自己敲得?
      

  7.   

    5楼的应该也能解决,就是我不太明白去哪找public partial class MyDataGridView : DataGridView,想多学习学习
      

  8.   


    你项目里面点添加->新建项->组件类
      

  9.   

    自定义控件,然后继承原来的DataGridView,然后重写一下按键方法,以后这个自定义控件就可以像原来的系统控件一样使用了,只是里边的按键方法有变化!