2013-12-12 76 views
-1

我有帶有10個水平文本框的VB.net應用程序窗體。我需要在右鍵和左鍵盤箭頭之間移動文本框。此外,我需要做的文本框格式是這樣0.00VB.net通過鍵盤在文本框之間移動箭頭

+0

你可以列出你的問題的第二部分? – webdad3

+1

不是製表符和換檔標籤用於什麼? –

+0

你的問題的第二部分? :我需要更改文本框格式從字符串到數字像1.25,0.50,1.00 – user3077945

回答

0

除了webdad3的答案。

Private Sub Form1_KeyDown(ByVal sender as Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown 

    Dim tb as TextBox = TryCast(me.ActiveControl, TextBox) 
    If tb IsNot Nothing Then 

     Select Vase e.KeyCode 
      Vase Keys.Right, Keys.Left 
       dim forward as boolean = e.KeyCode = Keys.Right 
       me.SelectNextControl(Me, forward, True, True, true)    
       e.Handled = true 
     End Select 

    End If 

End Sub 

不要忘記Form.KeyPreview設置爲true(通過窗體設計器)

對於第二部分:

有很多很多不同的方式來格式化文本框的文本。 最好的解決辦法是使用數據綁定(複雜的話題,讀一本書了。)

Public Class Form1 

    Public Property Price as Decimal 

    ' call this code once 
    Private Sub InitControls() 

     Price = 3.45 

     me.txtPrice.DataBindings.Add(
      "Text", Me, "Price", True, 
      DataSourceUpdateMode.OnPropertyChanged, Nothing, "0.00" 
     ) 

    End Sub   

End Class 
+0

非常感謝。 Thats Worked Ok When When .25 The Text Chang To 0.25 ...但是當我輸入1時它不會更改爲1.00 – user3077945

+0

您需要定義小數的精度和小數位數。 類似'Public Property Price as Decimal(10,2)' 第一個整數是精度(允許的總位數)。 第二個整數是比例(小數點後允許的位數)。 –

+0

@Jonathon - 這在.NET中無效,您無法定義小數精度。 @ user6077945 - 使用上面的代碼,它應該將'1'更改爲'1.00'再次檢查您的代碼 –

0

我從下面的鏈接下面的代碼:

http://social.msdn.microsoft.com/Forums/windows/en-US/ffeeea42-f6ba-420f-827e-74879fd29b26/how-to- detect-arrow-keys-in-vbnet?forum=winforms

Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown 
    ' Sets Handled to true to prevent other controls from 
    ' receiving the key if an arrow key was pressed 
    Dim bHandled As Boolean = False 
    Select Case e.KeyCode 
     Case Keys.Right 
      'do stuff 
      e.Handled = True 
     Case Keys.Left 
      'do other stuff 
      e.Handled = True 
     Case Keys.Up 
      'do more stuff 
      e.Handled = True 
     Case Keys.Down 
      'do more stuff 
      e.Handled = True 
    End Select 
End Sub 
相關問題