在visual basic中编辑现有的按键事件

时间:2016-03-03 10:26:12

标签: vb.net

这是我正在研究的项目的一小段代码。

我们必须在Visual Basic(使用Visual Studio 2015)中创建一个程序,该程序从第一个文本框复制文本,并在按下按钮后将其粘贴到第二个文本框中:" 显示名称&#34 ;.

我们打算处理它,以便输入的值介于' A'到了' Z'然后,一旦按下按钮进入第二个文本框,它就会复制文本并正常粘贴。

我们也应该这样做,如果值是一个数字(介于0到9之间),我们的意思就是弹出一条消息,说出:"错误 - 你输入了数字"

我们也应该制作一个弹出的框说:"错误 - 您输入的数字不是数字" ,如果该值是字母以外的字符或一个数字。我很匆忙,很快就会感激任何帮助。

到目前为止,这是我的代码。 (我知道Keys.AKeys.Z并且消息框错误,我也需要解决这个问题:

Public Class MyFirstProgram

Private Sub DisplayTextButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DisplayTextButton.Click
    ShowTextBox.Text = EnterTextBox.Text
End Sub
Private Sub me_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
    Dim letterEntered As Char
    If e.KeyCode < Keys.A Or e.KeyCode > Keys.Z Then
        MsgBox("Error - Use letter keys only!", MsgBoxStyle.OkOnly, )
    Else
        letterEntered = LCase(ChrW(e.KeyCode))
        If ShowTextBox.Text = "" Then
            ShowTextBox.Text = letterEntered
        Else
            ShowTextBox.Text = ShowTextBox.Text + letterEntered
        End If
    End If
End Sub

Private Sub ClearButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClearButton.Click
    EnterTextBox.Text = ""
End Sub

Private Sub MyFirstProgram_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.KeyPreview = True
End Sub
 End Class

哦,我是Visual Basic /编程的新手;所以,如果可以,请尽量耐心等待。对不起:/

2 个答案:

答案 0 :(得分:0)

只要它能帮到你,就可以查看IsNumeric函数。

答案 1 :(得分:0)

使用KeyPress按事件..代替keyDown

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

    'If e.KeyCode < Keys.A Or e.KeyCode > Keys.Z Then
    '    MsgBox("Error - Use letter keys only!", MsgBoxStyle.OkOnly, )
    'Else
    '    Dim letterEntered = LCase(ChrW(e.KeyCode))
    '    ShowTextBox.Text = ShowTextBox.Text + letterEntered

    'End If
    'e.Handled = True
End Sub

Private Sub Form1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress
    If Not Char.IsLetter(e.KeyChar) Then
        MsgBox("Error - Use letter keys only!", MsgBoxStyle.OkOnly)
        e.Handled = True
    End If
End Sub