【问题标题】:I want to know how many time I using "backspace" on VB.NET我想知道我在 VB.NET 上使用了多少次“退格”
【发布时间】:2018-09-16 17:16:33
【问题描述】:

在这个RichTextBox中,我想知道键盘上的“Backspace”键使用了多少次。到目前为止,我已经使用了这段代码,但是出了点问题。这是场景:当按下 Enter 时,MessageBox 将显示 Backspace 被使用了多少次。请帮帮我..

Private Sub RichTextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles RichTextBox1.KeyDown
    Dim count As Integer

    If (e.KeyCode = Keys.Back) Then
        count = count + 1
    ElseIf (e.KeyCode = Keys.Enter) Then
        MessageBox.Show(count)
    End If

End Sub

【问题讨论】:

  • 就像this question asked a couple of days ago 一样,这只是范围问题。每次KeyDown 运行时,您都会声明一个名为countnew 变量。将声明移到事件处理程序之外的类级别。
  • 消息框显示“0”
  • 当我尝试运行时,消息框只显示“0”
  • 您可以在此处尝试使用“静态”关键字:Static count As Integer 这将导致变量在调用方法之间保留其值。

标签: vb.net keypress keydown


【解决方案1】:

正如@Visual Vincent 所说,您需要将“count”的声明移出事件。

   Private count As Integer = 0

    Private Sub RichTextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles RichTextBox1.KeyDown
        If e.KeyCode = Keys.Back Then count += 1

        If e.KeyCode = Keys.Enter Then
            MessageBox.Show(count)
            count = 0
        End If
    End Sub

【讨论】:

    猜你喜欢
    • 2022-11-03
    • 2019-08-09
    • 2017-06-27
    • 1970-01-01
    • 2021-03-01
    • 2016-11-10
    • 2023-03-15
    • 1970-01-01
    • 2014-03-01
    相关资源
    最近更新 更多