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


Автор: ДимkА 30.12.2008, 16:00
Как обрабатываются события с клавиатуры? Какой код нужно написать что бы был вот такой эфект только по нажатию определённой клавиши на клавиатуре? smile 

private void button1_KeyDown(object sender, KeyEventArgs e)
        {
            button1.Top += 5;
        }
 smile 

Автор: Partizan 30.12.2008, 16:03
ДимkА

Вот, например обработка нажатия на пробел...
Код

if (e.Key == Keys.Space)
....

Автор: ДимkА 30.12.2008, 17:21
Что это значит?

Ошибка 1 "System.Windows.Forms.KeyEventArgs" не содержит определения для "Key" и не был найден метод расширения "Key", принимающий тип "System.Windows.Forms.KeyEventArgs" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)

Автор: Partizan 30.12.2008, 18:12
ДимkА, небольшая деза получилась...

Код

if (e.KeyCode == Keys.Space)

Автор: Hades 30.12.2008, 18:13
Код

if (e.KeyCode == Keys.Space)


Цитата(ДимkА @  30.12.2008,  15:00 Найти цитируемый пост)
button1_KeyDown

а на что вы вешаете событие? на мышку или на форму smile 

Автор: ДимkА 30.12.2008, 18:17
А это что?
Ошибка "System.Windows.Forms.Keys" не содержит определение для "x"(то есть для той клавиши которую я задал)

Добавлено через 2 минуты и 54 секунды
Hades: На форму

Автор: Partizan 30.12.2008, 18:33
ДимkА, у вас intellisence чтоли не работает??? или вы в блокноте код пишете?

Автор: Hades 30.12.2008, 18:35
1.Напишите что вы хотите сделать
2.Покажите код на данный момент

Автор: ДимkА 30.12.2008, 18:36
Я очень мало что в этом понимаю, а код пишу в Microsoft Visual Studio 2008.

Автор: Partizan 30.12.2008, 18:38
ДимkА, пишете

Код

if (e.KeyCode == Keys.)


После точки жмёте на клавиатуре Сtrl + Space и выбираете из списка...

Автор: Hades 30.12.2008, 18:41
ДимkА
напишите Keys. (точку не забудьте), если подсказка не появилась, нажмите Ctrl+Space и выберите вариант.

Автор: ДимkА 30.12.2008, 18:41
Хочу что бы по нажатии клавиши x на клавиатуре, кнопка двигалась.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace KeyDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
       private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.x)
                button1.Top -= 5;
        }
    }
}

Автор: Partizan 30.12.2008, 18:50
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace KeyDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
       private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.X)
                button1.Top -= 5;
        }
    }


Автор: ДимkА 30.12.2008, 22:30
 smile  smile 

Автор: Hades 30.12.2008, 22:35
Цитата(ДимkА @  30.12.2008,  21:30 Найти цитируемый пост)
 smile  smile 

и что это означает?

 smile 

Автор: ДимkА 31.12.2008, 09:55
Это значит что у меня ничего не получилось и ничего не понятно.
Как исправить эту ошибку?
Ошибка "System.Windows.Forms.Keys" не содержит определение для "x"(то есть для той клавиши которую я задал).

Автор: Partizan 31.12.2008, 10:34
ДимkА, прежде чем что-то писать на C#, советую взять какую-нибудь книжку по C# и ознакомиться с языком

Автор: Hades 31.12.2008, 15:25
Цитата(ДимkА @  31.12.2008,  08:55 Найти цитируемый пост)
Ошибка "System.Windows.Forms.Keys" не содержит определение для "x"

Цитата(ДимkА @  30.12.2008,  17:41 Найти цитируемый пост)
Keys.x

Цитата(Partizan @  30.12.2008,  17:50 Найти цитируемый пост)
Keys.X

разве не видно что там надо поставить большую букву smile 

Автор: ДимkА 1.1.2009, 14:41
Спасибо всё получилось smile  smile  smile 

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