我來了...我struggle...你知道的。我嘗試了,有兩種方法。
成都創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元烏翠做網(wǎng)站,已為上家服務(wù),為烏翠各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
1.鍵盤事件handled法;攔截按鍵
在你的DataGridView_KeyDown 事件中加入
If e.KeyCode = Keys.Enter Then
e.Handled = True'意思是接管了這個按鍵信息
'這里加入你想要的事件比如
'dim frm as new form1
'frm.showdialog
End If
這種方法只能每個控件都寫一次,好控制,但是有點(diǎn)麻煩。
2.單位類繼承法。
在vs菜單里單擊項(xiàng)目,添加類。然后確定。
在類中輸入。
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具有特殊功能。
這個方法快捷有效~我就是這么做的~。
但是如果工程已經(jīng)成型,數(shù)據(jù)龐大,不推薦這么做_~
這可是原創(chuàng)!~我不喜歡轉(zhuǎn)載呵呵。
不用說QQ了這次,,,498483439我是新手。
CnPack組件包中有KeyBlocker組件,可以鍵盤hook的方式屏蔽一些鍵,但對CTRL+ALT+DEL無效。
例子在cnpack\Examples\KeyBlocker中。
如果是簡單的換行用vbcrlf 或 environment.newline
要獲得鍵盤的回車鍵用api 的
Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer