gpt4 book ai didi

VB.NET - 如何使文本框每次按键只接受一个字符?

转载 作者:行者123 更新时间:2023-12-02 09:30:36 24 4
gpt4 key购买 nike

我的项目是模拟恩尼格玛机,我需要一些处理可视化界面的帮助。

在我的程序中,我需要一个文本框,用户可以在其中输入无限数量的字母。但是,该程序还会根据输入的文本更新其他组件,并为用户显示视觉表示。

例如,当我按下字母“A”时,程序将其编码为字母“S”,并在界面中显示图像。但是,每次对字母进行编码时,该编码都是唯一的。

如您所知,当您在键盘上按住某个字母较长时间时,它会继续写入该字母。例如,如果我按住“A”,在文本框中我最终会得到“AAAAAAAAAAAAAAAAAAAAAA”,并且它会在对每个“A”进行编码时向图像显示发送垃圾邮件。

我的问题是:如何限制文本框每次按键只接受一个字母,但仍然允许两个或三个字母?这样我就可以得到一个相同字符的子串,只要我反复按键盘输入即可。

我需要这个,以便只要按下输入字母,编码的字母就会亮起。

最佳答案

如果您在 KeyEventArgs 中使用 SuppressKeyPress,则可以控制按键何时完成。在我的示例中,我使用文本框作为要输入的控件。但这也适用于其他控件...

Dim keyIsDown As Boolean 'marked to give status of keyboard key

Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
If keyIsDown Then 'if key is already down abort
e.SuppressKeyPress = True
Exit Sub
End If
keyIsDown = True 'if key was not already down mark it as down now
End Sub

Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyUp
keyIsDown = False 'key has traveled up clear the marker
End Sub

关于VB.NET - 如何使文本框每次按键只接受一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29698940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com