Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/32: Рейтинг темы: голосов - 32, средняя оценка - 4.53
176 / 176 / 50
Регистрация: 06.01.2013
Сообщений: 392
1

Как отловить нажатие ctrl+v ctrl+c ctrl+x key_Press

17.02.2013, 14:56. Просмотров 6392. Ответов 6
Метки нет (Все метки)

Как правильно отловить нажатие ctrl+v ctrl+c ctrl+x в событии key_Press?
я пробую так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void textBox_ServerIP_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar == (Char)Keys.V) && (ModifierKeys == Keys.Control))
            {
                textBox_ServerIP.Paste();
                e.Handled = true;
            }
            else if ((e.KeyChar == (Char)Keys.C) && (ModifierKeys == Keys.Control))
            {
                textBox_ServerIP.Copy();
                e.Handled = true;
            }
            else if ((e.KeyChar == (Char)Keys.X) && (ModifierKeys == Keys.Control))
            {
                textBox_ServerIP.Cut();
                e.Handled = true;
            }            
        }
Что-то не получается пока...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2013, 14:56
Ответы с готовыми решениями:

Как отловить нажатие CTRL+Z?
Как отловить нажатие CTRL+Z?

Как обработать событие ctrl + нажатие кнопки
Добрый день, перечитал все связаные темы тут, никак не могу реализовать. Как обработать...

WinApi нажатие Ctrl + -
Доброго времени суток. Есть андроид эмулятор Bluestacks. Мне требуется передать ему нажатие на...

Программное нажатие Ctrl+S в стороннем ПО
Добрый день! Вопрос собственно в заголовке :) Помогите написать код, который будет каждые 15 сек....

6
135 / 137 / 18
Регистрация: 26.07.2010
Сообщений: 911
17.02.2013, 14:59 2
В одном суловии совместите отлов нажатия клавиш.
Цитата Сообщение от MrGladus Посмотреть сообщение
e.KeyChar == (Char)Keys.С && e.KeyChar == (Char)Keys.V
Может быть сработает.
0
Эксперт .NET
13616 / 10522 / 2771
Регистрация: 17.09.2011
Сообщений: 17,872
17.02.2013, 15:03 3
Цитата Сообщение от MrGladus Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            if ((e.KeyChar == (Char)Keys.V) && (ModifierKeys == Keys.Control))
            {
                textBox_ServerIP.Paste();
                e.Handled = true;
            }
            else if ((e.KeyChar == (Char)Keys.C) && (ModifierKeys == Keys.Control))
            {
                textBox_ServerIP.Copy();
                e.Handled = true;
            }
            else if ((e.KeyChar == (Char)Keys.X) && (ModifierKeys == Keys.Control))
            {
                textBox_ServerIP.Cut();
                e.Handled = true;
            }
Ммм... А зачем делать то, что уже реализовано по умолчанию в текст боксе?
0
176 / 176 / 50
Регистрация: 06.01.2013
Сообщений: 392
17.02.2013, 15:13  [ТС] 4
Цитата Сообщение от kolorotur Посмотреть сообщение
Ммм... А зачем делать то, что уже реализовано по умолчанию в текст боксе?
Прошу прощения, не могли бы вы указать как оно по умолчанию реализовано. Я где не искал везде в коде отлавливается нажатие ctrl+v ctrl+c ctrl+x.
0
135 / 137 / 18
Регистрация: 26.07.2010
Сообщений: 911
17.02.2013, 15:15 5
Да просто выделяете значение в текстбоксе и нажимаете Cntrl+C и т.д.
0
176 / 176 / 50
Регистрация: 06.01.2013
Сообщений: 392
17.02.2013, 15:19  [ТС] 6
Тут маленькое но... Вот полный код события. Цель разрешить ввод только цифр и точки, для ввода корректного IP. Поэтому все остальные нажатия приводят к e.Handled = true;
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private void textBox_ServerIP_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar == (Char)Keys.V) && (ModifierKeys == Keys.Control))
            {
                textBox_ServerIP.Paste();
                e.Handled = true;
            }
            else if ((e.KeyChar == (Char)Keys.C) && (ModifierKeys == Keys.Control) )
            {
                textBox_ServerIP.Copy();
                e.Handled = true;
            }
            else if ((e.KeyChar == (Char)Keys.X) && (ModifierKeys == Keys.Control))
            {
                textBox_ServerIP.Cut();
                e.Handled = true;
            }
            else if ( (!(Char.IsDigit(e.KeyChar)) && !((e.KeyChar == '.')  && (textBox_ServerIP.Text.Length != 0))) )
            {
                if (e.KeyChar != (char)Keys.Back)
                    e.Handled = true;
            }
        }
0
Эксперт .NET
13616 / 10522 / 2771
Регистрация: 17.09.2011
Сообщений: 17,872
17.02.2013, 16:36 7
Цитата Сообщение от MrGladus Посмотреть сообщение
Цель разрешить ввод только цифр и точки, для ввода корректного IP.
Для этих целей лучше используйте MaskedTextBox - он позволяет задать маску для ввода, чтобы вам вручную не отслеживать валидность вводимых данных.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2013, 16:36

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Обработать нажатие DEL и Ctrl+V
Ребята помогите пожалуйста!!!!! у меня такая проблема, мне нужно чтобы у меня распознавалась...

Как назначить горячую клавишу на ctrl+s
Главный вопрос:Как сделать горячею клавишу на ctrl+s (будет сохранение)? Второстепенный: и еще...

Как обработать события Ctrl+клик мыши
В задании сказано, что если на форме при нажатии на левую кнопку мыши была нажата ctrl то...

Как заблокирвоать комбинацию ctrl+alt+del?
Собственно вопрос в названии. Ни что из того что я нашёл в интернете не помогло - оно по сути...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.