十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我来了...我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了,这个DataGridView具有特殊功能。
这个方法快捷有效~我就是这么做的~。
但是如果工程已经成型,数据庞大,不推荐这么做_~
这可是原创!~我不喜欢转载呵呵。
不用说QQ了这次,,,498483439我是新手。
CnPack组件包中有KeyBlocker组件,可以键盘hook的方式屏蔽一些键,但对CTRL+ALT+DEL无效。
例子在cnpack\Examples\KeyBlocker中。
查找第一个vbcrlf 即回车换行符的位置 ,再把该位置及前面的字符全部删除 即可
可以用 instr 好像在字符strings类里面
j=strings.instr(1,richtextbox1.text,vbcrlf)
richtextbox1.text=strings.right(richtextbox1.text,len(richtextbox1.text)-j)
这里不记得是strings 还是string 你自己试试
如果是简单的换行用vbcrlf 或 environment.newline
要获得键盘的回车键用api 的
Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer