Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Обработка нажатий клавиатуры


Автор: renat123 6.6.2012, 12:30
В приложении на форме куча всяких элементов. При нажатии на пробел, необходимо остановить таймер, который запущен, и, если он не запущен, то надо запустить его. Этот код не работает: 
Код

    Private Sub FormMy_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
        Dim keyPressCount As Long = 0

        Select Case e.KeyChar
            ' Counts the backspaces.
            Case Convert.ToChar(32)

                If IndicatorTimer = True Then
                    Timer1.Stop()
                    IndicatorTimer = False
                Else
                    Timer1.Start()
                    IndicatorTimer = True
                End If
        End Select

    End Sub

Вопрос почему? Могу только предположить, что в данный момент активен другой элемент формы. Если это так, как сделать, чтобы нажатие пробела всегда останавливала таймер?

Автор: diadiavova 6.6.2012, 14:42
http://msdn.microsoft.com/ru-ru/library/system.windows.forms.form.keypreview.aspx?queryresult=true

Автор: renat123 6.6.2012, 15:38
ФПАФИБА МНЕ ОЦЕНЬ ФТЫДНО!!!!! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)