请问如何使DataGridView的键盘操作失效啊? 在datagridview中按键盘的上,下,左,右不是可以自动变换单元格吗,我如何能够使他失效啊?也就是说要让在datagridview激活的情况下,按上,下,左,右后没有反应,使当前单元格不会发生移动,如何才能实现啊?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 protected override bool ProcessCmdKey(ref Message msg, Keys keyData)//重写键盘回车代码 { if (keyData == Keys.Up)//上下左右 { return true; } else return base.ProcessCmdKey(ref msg, keyData); } 用这个方法所有在一个窗体上的控件都不能用键盘操作了。我只想datagridview的键盘操作失效,其他的控件正常,应该怎么办啊?也是要重写吗? 将这个写在你的datagridview控件里面,相当于就是自定义个控件 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); } } 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; } public partial class MyDataGridView : DataGridView这个类在程序的什么地方可以找到啊?还是说自己敲得? 5楼的应该也能解决,就是我不太明白去哪找public partial class MyDataGridView : DataGridView,想多学习学习 你项目里面点添加->新建项->组件类 自定义控件,然后继承原来的DataGridView,然后重写一下按键方法,以后这个自定义控件就可以像原来的系统控件一样使用了,只是里边的按键方法有变化! textBox 为空的或者字数大于30个字 提示内容为空和字数大于30个字 c# 组件式开发 list<>可以套LIST<>吗 面试题 安装.net framework 3.5时候的怪异问题? 如何用用c#访问word文档?? 我写的划线方法,怎么窗体创建时不运行呢? 怎样实现类的定义和实现分开 求几个C#的留言本…… 高分求电子书(没分了.....) 请教如何解决Rows[i].Delete()后的遍历问题,谢谢! c#自定义控件
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)//重写键盘回车代码
{
if (keyData == Keys.Up)//上下左右
{
return true;
}
else
return base.ProcessCmdKey(ref msg, keyData);
}
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);
} }
{
if (e.KeyCode == Keys.Up||e.KeyCode==Keys.Down||e.KeyCode==Keys.Left||e.KeyCode==Keys.Right)
e.Handled = true;
}
这个类在程序的什么地方可以找到啊?还是说自己敲得?
你项目里面点添加->新建项->组件类