2011-08-19 39 views
-1

如何在我的vb.net中使用key_down事件?它太吸吮我在谷歌上看過這麼多的代碼,但他們都沒有工作我不明白它出錯的地方用textbox1_keydown敲我的腦袋請幫幫我

  1. http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keypress.aspx#Y600
  2. http://www.daniweb.com/software-development/vbnet/threads/114278
  3. http://forums.devshed.com/net-development-87/keypress-allow-only-letters-and-numbers-with-max-lenght-of-528176.html
  4. http://social.msdn.microsoft.com/Forums/pl-PL/Vsexpressvb/thread/aab1d64c-a9dc-4dd2-8d2f-83a414e9c909
  5. http://www.bigresource.com/VB-Lock-textbox-so-the-user-only-can-enter-numbers-a8mxDB7ouq.html
  6. http://forums.devx.com/archive/index.php/t-96951.html

以上是我用Google搜索的鏈接,而且有很多環節=我用Google搜索對key_down的事件上工作vb.net我的神其AINT工作,我不知道該怎麼辦。

1)如何使用textbox1_keydown事件是否有使用它(爲什麼它AINT幹活之前採取任何必要的步驟?)

2)任何人都可以發佈這些「文本框,允許從用戶只數的樣本使用key_down「

3)我看到人們使用e.keychar,但在我的vb.net(2008)我沒有那個關鍵字我想e.keycode必須使用的是嗎?或e.keyvalue?

4)我看到e.keycode = keys.A但我需要接受'a'而不是「A」如何用ascii值指定一個數字或字母?

對不起,問你很多問題,但我不明白爲什麼它不工作,請幫助我guys..please

+1

如果你能發佈你所嘗試過的,我們應該能夠更好地幫助你。 –

+0

@markhall。我嘗試了我在谷歌上找到的內容,以及您嘗試了什麼?對於這些我已經向您展示了我閱讀的鏈接,並且我以他們提供代碼的方式嘗試了這些鏈接,但它不起作用,爲什麼是-1?編寫的按鍵事件的代碼,但不工作,這是我的問題,所以我想知道,在我使用 – niko

+0

@all之前,我有什麼變化,我必須做的文本屬性@all完美juss完美多數民衆贊成爲什麼我喜歡的stackoverflow,無論我在哪裏,我嘗試當我沒有得到解決方案stackoverflow幫助我我很感謝這些網站和這些背後的傢伙,當然回答者張貼和問題:)最後其工作夥計感謝... ... – niko

回答

1

您無法使用按鍵響應出於某種原因?

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress 
    If Char.IsDigit(e.KeyChar) Then 
     e.Handled = True 'Prevents all numbers from from being placed 
    End If 

    If Convert.ToInt32(e.KeyChar) = 97 Then 
     e.Handled = True 'Prevents "a" from being placed 
    End If 
End Sub 

這應該做你所需要的。如果您還沒有的話,可以找到一個ASCII碼列表here。看看Char的intellisense。並檢查出你可以過濾的所有有用的東西。您也可以通過將它們轉換爲int來指定確切的ASCII值。

+0

它的工作兩個答案工作我不知道哪一個接受!但我會給這兩個答案+1! – niko

+0

@eclipse謝謝 – niko

+0

繼續接受來自Lars的,對我無所謂。只需接受其中一個:) –

1

聽起來好像你在KeyDown和KeyPress之間有點混亂。

我認爲這是你在找什麼:

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs) Handles TextBox1.KeyPress 
    If Not Char.IsNumber(e.KeyChar) Then 
    e.Handled = True 
    End If 
End Sub 

如果你正在試圖進入數字和小寫字母「A」,然後:

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs) Handles TextBox1.KeyPress 
    If Not (Convert.ToInt32(e.KeyChar) = Asc("a") Or Char.IsNumber(e.KeyChar)) Then 
    e.Handled = True 
    End If 
End Sub 
+0

@lara tech謝謝你 – niko