Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Хммм... Добавлено: 11.08.09 21:07  

Автор вопроса:  UnDeAdZak
А как в Visual Basic.NET считывать нажатия кнопок на клавиатуре? На Visual Basic 6.0 у любого контрола были свойства KeyPress, KeyUp, KeyDoun. а в .Net такого нету.
                    =( HELP ME!!! )=

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #1 Добавлено: 11.08.09 21:13
Сорри просмотрел =(. Уже нашол. Меняю вопрос:
Как отследить какая именно кнопка была нажата??? Т.е. "повесить" на нее определённое действие, например выход из формы.

Ответить

Номер ответа: 2
Автор ответа:
 ☺♣FIO♣☺



Вопросов: 35
Ответов: 160
 Профиль | | #2 Добавлено: 11.08.09 21:15
спомощью api функций. Щас уточню и скажу.

Ответить

Номер ответа: 3
Автор ответа:
 ☺♣FIO♣☺



Вопросов: 35
Ответов: 160
 Профиль | | #3 Добавлено: 11.08.09 21:19
объявляешь:
  1. Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer

  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.         If GetAsyncKeyState(Keys.S) Then
  3.             Me.Close()
  4.         End If
  5.     End Sub

это условие засунь в таймер и усе.

Ответить

Номер ответа: 4
Автор ответа:
 ☺♣FIO♣☺



Вопросов: 35
Ответов: 160
 Профиль | | #4 Добавлено: 11.08.09 21:20
вот полный пример
  1. Public Class Form1
  2.     Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer
  3.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.         Timer1.Start()
  5.     End Sub
  6.  
  7.     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  8.         If GetAsyncKeyState(Keys.S) Then
  9.             Me.Close()
  10.         End If
  11.     End Sub
  12. End Class

вот, вроде.

Ответить

Номер ответа: 5
Автор ответа:
 ☺♣FIO♣☺



Вопросов: 35
Ответов: 160
 Профиль | | #5 Добавлено: 11.08.09 21:20
На форме тока timer1

Ответить

Номер ответа: 6
Автор ответа:
 Skywalker



ICQ: 300-70-6пятьЪ 

Вопросов: 62
Ответов: 545
 Web-сайт: iSkywalker.ru
 Профиль | | #6
Добавлено: 11.08.09 21:27
пора банить умных советчигоффф... а то скоро идиотов много станет)

нужно поставить у формы свойство KeyPreview = true
и написать
  1.  
  2. Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
  3.         If e.KeyCode = Keys.Escape Then
  4.             Me.Close()
  5.         End If
  6.     End Sub

Ответить

Номер ответа: 7
Автор ответа:
 ☺♣FIO♣☺



Вопросов: 35
Ответов: 160
 Профиль | | #7 Добавлено: 11.08.09 21:36
а что? так ведь тоже мона...как вариант...

Ответить

Номер ответа: 8
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #8
Добавлено: 12.08.09 00:04
no comments.

Ответить

Номер ответа: 9
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #9 Добавлено: 12.08.09 00:27
Людии. Блин мона вопрос КАКОГО ФИГА В ЭТОМ ДУРАЦКОМ VB.NET У ТАЙМЕРА ПО УМОЛЧАНИЮ ENABLED = FALSE??? И КАК ЭТО ОТРУБИТЬ.=(

Ответить

Номер ответа: 10
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #10 Добавлено: 12.08.09 00:29
И бальшое спасибо, я сам почти разобрался, тока мне этот e.KeyCode подосрал.

Ответить

Номер ответа: 11
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #11 Добавлено: 12.08.09 03:15
UnDeAdZak
1) В дизайнере ставишь свойство Enabled=True
2) MyTimer.Enabled=True
3) Пишем свой таймер типа

  1. Class MyTimer
  2.     Inherits Timer
  3.  
  4.     Public Overrides Property Enabled() As Boolean
  5.         Get
  6.             Return True
  7.         End Get
  8.         Set(ByVal value As Boolean)
  9.             'MyBase.Enabled = value
  10.         End Set
  11.     End Property
  12. End Class

Ответить

Номер ответа: 12
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #12 Добавлено: 12.08.09 04:33
Может даже так

  1. Class MyTimer
  2.     Inherits Timer
  3.  
  4.     Public Sub New()
  5.         MyBase.Enabled = True
  6.     End Sub
  7.  
  8.     Public Overrides Property Enabled() As Boolean
  9.         Get
  10.             Return True
  11.         End Get
  12.         Set(ByVal value As Boolean)
  13.             'MyBase.Enabled = value
  14.         End Set
  15.     End Property
  16. End Class

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам