Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
8 / 8 / 10
Регистрация: 11.04.2012
Сообщений: 611
1

Функции для клавиш клавиатуры

29.07.2012, 21:03. Показов 1919. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Как на какой-нибудь набор клавиш поставить какое либо действии???
Например: при нажатии на CTRL+C документ находящийся в текстбоксе копируется в буфер, а при CTRL+V документ из буфера в текстбокс???
Помогите пожалуста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.07.2012, 21:03
Ответы с готовыми решениями:

Действие по нажатию клавиатуры или сочетанию клавиш
Возможно-ли реализовать какое-либо действие по нажатию на клавиши клавиатуры, желательно, если...

Программа, которая подсчитывает нажатия клавиш с клавиатуры
Здравствуйте. Вот уселся за изучение vb, хочу для примера рассмотреть программу которая...

UI кнопки, исполняющие функции клавиш клавиатуры
Есть ли какой-то простой способ присвоить UI кнопке значение клавиши клавиатуры? Нужно управление с...

метод для перехвата клавиш клавиатуры
Здравствуйте,имею метод для перехвата клавиш клавиатуры,но не знаю куда его вставить и как его...

12
1568 / 1447 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
29.07.2012, 21:27 2
VB.NET
1
2
3
4
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
''
If GetAsyncKeyState(Keys.Q) Then
End If
0
77 / 38 / 2
Регистрация: 07.01.2012
Сообщений: 414
30.07.2012, 11:01 3
Кинь таймер на форму.
Клавиши можешь поменять!

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer
    Dim hotkey As Boolean
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        hotkey = CBool(GetAsyncKeyState(Keys.F12))
        If hotkey = True Then
            TextBox1.Text = My.Computer.Clipboard.GetText ' Получаем текст из буфера обмены
        End If
        hotkey = CBool(GetAsyncKeyState(Keys.F11))
        If hotkey = True Then
            My.Computer.Clipboard.SetText(TextBox1.Text) ' Добавляем текст в буфер обмена
        End If
    End Sub
1
8 / 8 / 10
Регистрация: 11.04.2012
Сообщений: 611
30.07.2012, 18:23  [ТС] 4
Spread, а зачем таймер?
0
77 / 38 / 2
Регистрация: 07.01.2012
Сообщений: 414
30.07.2012, 18:29 5
этот код для таймера.
в таймере поставь настройки ещё надо.
0
8 / 8 / 10
Регистрация: 11.04.2012
Сообщений: 611
30.07.2012, 19:04  [ТС] 6
то что это для таймера это я понял...а зачем он вообще нужен??

клавиши менять это которые в вашем коде F11 и F12?

Добавлено через 32 минуты
скажите пожалуста куда воткнуть этот код? и будет ли он работать так как надо?
VB.NET
1
2
3
4
5
6
7
Dim Вставка As IDataObject = Clipboard.GetDataObject()
        If e.KeyCode = Keys.Control + Keys.C Then
            Clipboard.SetDataObject(TextBox1.Text)
        End If
        If e.KeyCode = Keys.Control + Keys.V Then
            TextBox1.Text = CType(Вставка.GetData(DataFormats.Text), String)
        End If
0
Заблокирован
30.07.2012, 19:43 7
Цитата Сообщение от Divil Посмотреть сообщение
скажите пожалуста куда воткнуть этот код? и будет ли он работать так как надо?
Добавляй в событие KeyDown
1
1568 / 1447 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
30.07.2012, 19:59 8
Divil, Литература и ресурсы по Visual Basic .NET
1
8 / 8 / 10
Регистрация: 11.04.2012
Сообщений: 611
31.07.2012, 19:49  [ТС] 9
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.Control Then
            copy = True
        End If
    End Sub
 
    Private Sub Form1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        If e.KeyChar = "C" And copy = True Then
????
        End If
        If e.KeyChar = "V" And copy = True Then
????
        End If
    End Sub
это основной код, но в строки ???? нужно вставить оператор который будет делать эти функции(т.е. в буфер сохр. и из буфера) использовал Clipboard.SetDataObject(TextBox1.Text) и My.Computer.Clipboard.SetText(TextBox1.Text) но программа копирует Clipboard.SetDataObject(TextBox1.Text) и My.Computer.Clipboard.SetText(TextBox1.Text) соответственно, а не то что находится в текстбоксе! помогите пожалуста!
0
Заблокирован
31.07.2012, 19:51 10
Попробуй за место Form1_KeyDown так TextBox1_KeyDown
0
8 / 8 / 10
Регистрация: 11.04.2012
Сообщений: 611
01.08.2012, 17:39  [ТС] 11
Release, а что это изменит???
там же в самом цикле if...then (.....) end if нужно вставить операторы или функции которые будут сохранять в буфер обмена и брать из буфера обмена при на жатии на CTRL+C и CTRL+V соответственно.

Добавлено через 21 час 31 минуту
Объясните пожалуста почему этот код вообще не работает???
VB.NET
1
2
3
4
5
6
        If e.KeyCode = Keys.Control + Keys.C Then
            Clipboard.SetText(TextBox1.Text)
        End If
        If e.KeyCode = Keys.Control + Keys.V Then
            TextBox1.Text = Clipboard.GetText
        End If
0
Заблокирован
01.08.2012, 18:30 12
Почему то Keys.Control не срабатывает
0
8 / 8 / 10
Регистрация: 11.04.2012
Сообщений: 611
01.08.2012, 19:04  [ТС] 13
а так впринципе код правильный? я просто еще пробовал вместо Keys.Control писать Keys.ControlKey но толку все равно нету((((

а есть какие-нибудь догадки почему Keys.Control не работает???
0
01.08.2012, 19:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.08.2012, 19:04
Помогаю со студенческими работами здесь

Установка кастомных клавиш для смены раскладки клавиатуры
Как установить свои клавиши для смены раскладки клавиатуры??? Конкретно мне удобнее сменять...

Программа для определения управляющих клавиш расширенной клавиатуры
Подскажите пожалуйста, нашел подобную программу, но почему-то она реагирует только на numlock и...

Написать программу движения курсора на экране(в цвете), в зависимости от функции клавиш клавиатуры.(вверх, низ, право, влево)
Написать программу движения курсора на экране(в цвете), в зависимости от функции клавиш...

callback функции не для кнопок на экране, а для клавиш на клав. и мышке. Как?
Я так понимаю, что в WIN API все действия делаются асинхронно через callback функции. Но как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru