Время нажатия на каждую клавишу

fanmag

New member
24.05.2015
3
0
#1
Здравствуйте, нужна ваша помощь!
Есть фраза, которую пользователь вводит в текстовое поле, необходимо посчитать в секундах время нажатия на каждую клавишу и время ее удержания и записать результат в массив.
Подскажите, пожалуйста, каким образом это осуществить?
 

fanmag

New member
24.05.2015
3
0
#2
Private Sub TextBox1_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.N Then
t1 = TimeOfDay.Millisecond
End If
End Sub
Но выдает постоянно результат 0, как исправить ?
 

fanmag

New member
24.05.2015
3
0
#3
Public Class Form1
Dim t1, t2, t3 As Date
Dim i As Integer

Private Sub TextBox1_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.N Then
t1 = Now
End If
End Sub
Private Sub TextBox1_KeyUp(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
If e.KeyCode = Keys.N Then
t2 = Now
'e.Handled = True
End If
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
i = 0
If TextBox1.Text = "тестова фраза" Then i = i + 1
Label1.Text = Str(i)

Label2.Text = CStr(t2.Millisecond - t1.Millisecond)
End Sub
End Class

этот код рабочий, но считает только конкретно милисекунды, как его можно офрмить чтобы брались для разницы милисекунды и секунды вместе?
 
R

rrrFer

#4
Количество миллисекунд подели на 1000, целая часть - секунды. Остаток от деления - миллисекунды.
 

Zhuk

Member
24.03.2015
16
0
#5
А подскажите код, чтобы на форме 1 нажимать кнопку и открывалась форма 2?