I am trying to make simple app, that lets user to move around with arrows. So far, i managed to let user move up, down, left and right overriding ProcessCmdKey() method.

```
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if (keyData == Keys.Up)
            {
                statek.Y--;
                return true;
            }
            if (keyData == Keys.Left)
            {
                statek.X--;
                return true;
            }
            if (keyData == Keys.Right)
            {
                statek.X++;
                return true;
            }
            if (keyData == Keys.Down)
            {
                statek.Y++;
                return true;
            }
            return base.ProcessCmdKey(ref msg, keyData);
        }

```

The problem is, i would love to let the user, go diagonally too. Like up and right at same time. I tried to search for some solutions, but unfortunately without any luck.
I will try to modify it, to make left/right keys to turn/rotate, so the up key would mean "forward", not "go up". But first of all, i need to make 2 keys at once possible. 

So the question is, how can i make possible, to use 2 keys at once, to move diagonally?

PS. Atm, i am moving an ellipse on picturebox, changing `Point statek = new Point(250, 470);` cords, so everytime timers ticks, it checks if X or Y changed, and draw it in new place. Often ticks - That's how i tried to achieve Real-time movement for now. Thats not going to be any complex application.