有一个 DataGrid,是允许编辑的,但不允许删除,所以想让在DataGrid中选中一些行后按 Delete 键失效,就是不允许通过按 Delete 键删除行,应该怎么做?
谢谢!

解决方案 »

  1.   

    把他的enabled的属性设置为false
    也行的吧~
      

  2.   

    常常有人不看清楚问题。我都说了要可以编辑的,设Enable为False怎么可能?再说Enable为False后浏览都不方便。
    在DataGrid里,按Delete键删除不用添加代码的!
      

  3.   

    屏蔽 DEL 键(KeyCode = 127)
      

  4.   

    I am sorry I can't use Chinese because My os is English:
    Create a new class Whose superior class is Datagrid,then you must override PreProcessMessage method,as flow;
    public override bool PreProcessMessage(ref Message msg)
    {
    if(msg.Msg == 256)
    {
    if( msg.WParam.ToInt32() == 46 )
    {
                                                return true;
                                         }
    }
    return base.PreProcessMessage (ref msg);
    }
      

  5.   

    从DataGrid继承一个DataGridEx,在里面写:

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
             if(keyData == Keys.Delete)
    {
    //TODO: your code here...                  //return false if you want to disable 'Delete'
    return false;
    }
             return base.ProcessCmdKey (ref msg, keyData);
    }