проблема с движением кнопки c#

402
26 февраля 2017, 06:50

У меня двигающаяся кнопка и 4 статичные. Эта двигающаяся кнопка не должна проходить сквозь другие. Но в чём-то есть проблема, и она проходит

 if (_rectangles.All(x => !x.IntersectsWith(button2.Bounds)) || (_lastKey != Keys.None && _lastKey != e.KeyCode))
        {
            switch (e.KeyCode)
            {
                case Keys.A:

                        button2.Location = new Point(button2.Location.X - 5, button2.Location.Y);
                    break;
                case Keys.S:
                    if (button2.Location.Y + button2.Size.Height < this.ClientSize.Height)
                        button2.Location = new Point(button2.Location.X, button2.Location.Y + 5);
                    break;
                case Keys.W:
                    if (button2.Location.Y + 1 > 5)
                        button2.Location = new Point(button2.Location.X, button2.Location.Y - 5);
                    break;
                case Keys.D:
                    if (button2.Location.X + button2.Size.Width < this.ClientSize.Width)
                        button2.Location = new Point(button2.Location.X + 5, button2.Location.Y);
                    break;
            }
        }
        else
            _lastKey = e.KeyCode;
        }
    }
Answer 1

нужно добавить _lastKey = Keys.None;

READ ALSO
Закраска PictureBox из массива ARGB

Закраска PictureBox из массива ARGB

Здравствуйте! Помогите разобраться, вот, имею код:

303
TreeView колонка для элементов справа

TreeView колонка для элементов справа

Добрый день! Есть TreeView, в нем есть кнопки, хочется сделать чтобы все эти кнопки был в одной колонки, друг под другом, как это можно сделать?...

427
Yii2 связь один ко многим с Null-object

Yii2 связь один ко многим с Null-object

Собственно сабж, есть 2 сущности связанные отношением один ко многимМножество - набор сущностей, из некоторого временного интервала, каждая...

525
Необязательные параметры роута

Необязательные параметры роута

В документации описывается что всё просто:

378