Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Visual Basic-如何防止文本框中的键盘键_Vb.net_Visual Studio 2010 - Fatal编程技术网

Vb.net Visual Basic-如何防止文本框中的键盘键

Vb.net Visual Basic-如何防止文本框中的键盘键,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,我想创建一个像这个网站一样的程序。当我点击一个像“m”这样的键时,它会写上“م”,所以我在VisualBasic程序中对按钮进行了编程,以将击键发送到文本框。当我尝试下面的代码时,当我按下键盘键时,它单击了Visual Basic中发送击键的按钮 If (GetAsyncKeyState(65)) Then Button19.PerformClick() End If 它是有效的,但它也写了我找到的普通关键字,所以它写了两个关键字,例如“m”和“م” 有什么解决办法吗 对于按下的键(K

我想创建一个像这个网站一样的程序。当我点击一个像“m”这样的键时,它会写上“م”,所以我在VisualBasic程序中对按钮进行了编程,以将击键发送到文本框。当我尝试下面的代码时,当我按下键盘键时,它单击了Visual Basic中发送击键的按钮

If (GetAsyncKeyState(65)) Then
    Button19.PerformClick()
End If
它是有效的,但它也写了我找到的普通关键字,所以它写了两个关键字,例如“m”和“م”


有什么解决办法吗

对于按下的键(
KeyPressed
KeyDown
),只需指定:

e.Handled = true
这将阻止字母出现在文本框中。检查一下


你也可以做一些变通,但我不推荐。只需处理文本框的
TextChanged
事件并删除文本:

Sub TB_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    TextBox1.Text = ""
End Sub
你可以试试:

Private Sub TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        If e.KeyChar = "a" Then
            e.KeyChar = "1"
        End If
    End Sub

.

对不起,没有用。您尝试过我的解决方案吗?正如@ooopsoft所说,您必须使用您的控件名(
RichTextBox1
)而不是
TextBox1
(作为我的示例),我尝试了RichTextBox1\u按键,但它也禁用了我的代码>If(GetAsyncKeyState(65))Then>按钮20。PerformClick()>End如果抱歉没有工作,如果您提供更多代码,它会有所帮助,例如,Button19?ech按钮下的代码包含以下代码>RichTextBox1.Focus()>SendKeys.Send(“م”),并且有一个计时器包含大量此代码>If(GetAsyncKeyState(65)),然后>Button19.PerformClick()>End Ifah!您可以使用RichTextBox1来测试上述代码,插入一个textbox1,用鼠标在(焦点)textbox1内单击,然后按键盘上的字母“a”,或者将代码放在
RichTextBox1_KeyPress