关于vb.net 中datagridview问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 01:31:59
vb.net 中datagridview敲回车键就会跳到下一个单元格,这个怎么取消?
我现在是想在datagridview的keypress事件中写空格加回车弹出另一个窗体应该怎么做?我用的是vs2005
如果方便的话最好留下QQ谢谢!

我来了...我struggle...你知道的。我尝试了,有两种方法。
1.键盘事件handled法;拦截按键
在你的DataGridView_KeyDown 事件中加入
If e.KeyCode = Keys.Enter Then
e.Handled = True'意思是接管了这个按键信息
'这里加入你想要的事件比如
'dim frm as new form1
'frm.showdialog
End If
这种方法只能每个控件都写一次,好控制,但是有点麻烦。

2.单位类继承法。
在vs菜单里单击项目,添加类。然后确定。
在类中输入。
Public Class DataGridViewX
Inherits DataGridView

Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
If msg.WParam.ToInt32() = CInt(Keys.Enter) Then
'这里是你想做的事情。
Return True
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
End Class
然后保存工程,生成。一定要生成。
然后回到form(可视化编辑模式,也就是你的主程序窗口,)
就好像你拖拽一个button一样,在工具箱里找到刚刚的
DataGridViewX
控件,然后拖拽,OK了,这