111,126
社区成员
发帖
与我相关
我的任务
分享private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Up:
keyupdown = "up";
timer1.Enabled = true;
break;
case Keys.Down:
keyupdown = "down";
timer1.Enabled = true;
break;
case Keys.Left:
keyleftright = "left";
timer2.Enabled = true;
break;
case Keys.Right:
keyleftright = "right";
timer2.Enabled = true;
break;
}
}
//上下移动的timer
private void timer1_Tick(object sender, EventArgs e)
{
switch (keyupdown)
{
case "up":
pictureBox1.Top = pictureBox1.Top + 6;
break;
case "down":
pictureBox1.Top = pictureBox1.Top - 6;
break;
}
}
//左右移动的timer
private void timer2_Tick(object sender, EventArgs e)
{
switch (keyleftright)
{
case "left":
pictureBox1.Left = pictureBox1.Left + 6;
break;
case "right":
pictureBox1.Left = pictureBox1.Left - 6;
break;
}
}
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Up:
keyupdown = "";
timer1.Enabled = false;
break;
case Keys.Down:
keyupdown = "";
timer1.Enabled = false;
break;
case Keys.Left:
keyleftright = "";
timer2.Enabled = false;
break;
case Keys.Right:
keyleftright = "";
timer2.Enabled = false;
break;
}
}protected override bool ProcessDialogKey(Keys keyData)
{
if ((keyData & (Keys.Alt | Keys.Control)) == Keys.None)
{
IButtonControl control;
switch ((keyData & Keys.KeyCode))
{
case Keys.Return:
control = (IButtonControl) base.Properties.GetObject(PropDefaultButton);
if (control != null)
{
if (control is Control)
{
control.PerformClick();
}
return true;
}
break;
case Keys.Escape:
control = (IButtonControl) base.Properties.GetObject(PropCancelButton);
if (control != null)
{
control.PerformClick();
return true;
}
break;
}
}
return base.ProcessDialogKey(keyData);
}
protected override bool ProcessDialogKey(Keys keyData)
{
if ((keyData & (Keys.Alt | Keys.Control)) == Keys.None)
{
Keys keys = keyData & Keys.KeyCode;
switch (keys)
{
case Keys.Left:
case Keys.Up:
case Keys.Right:
case Keys.Down:
if (!this.ProcessArrowKey((keys == Keys.Right) || (keys == Keys.Down)))
{
break;
}
return true;
case Keys.Tab:
if (this.ProcessTabKey((keyData & Keys.Shift) == Keys.None))
{
return true;
}
break;
}
}
return base.ProcessDialogKey(keyData);
}
private bool ProcessArrowKey(bool forward)
{
Control parentInternal = this;
if (this.activeControl != null)
{
parentInternal = this.activeControl.ParentInternal;
}
return parentInternal.SelectNextControl(this.activeControl, forward, false, false, true);
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string keyupdown = "";
string keyleftright = "";
private void timer1_Tick(object sender, EventArgs e)
{
switch (keyupdown)
{
case "down":
pictureBox1.Top = pictureBox1.Top + 6;
break;
case "up":
pictureBox1.Top = pictureBox1.Top - 6;
break;
}
}
private void timer2_Tick(object sender, EventArgs e)
{
switch (keyleftright)
{
case "right":
pictureBox1.Left = pictureBox1.Left + 6;
break;
case "left":
pictureBox1.Left = pictureBox1.Left - 6;
break;
}
}
protected override bool ProcessDialogKey(Keys keyData)
{
switch (keyData)
{
case Keys.Up:
keyupdown = "up";
timer1.Enabled = true;
break;
case Keys.Down:
keyupdown = "down";
timer1.Enabled = true;
break;
case Keys.Left:
keyleftright = "left";
timer2.Enabled = true;
break;
case Keys.Right:
keyleftright = "right";
timer2.Enabled = true;
break;
}
return base.ProcessDialogKey(keyData);
}
private void button1_KeyUp(object sender, KeyEventArgs e)
{
keyupdown = "";
timer1.Enabled = false;
keyleftright = "";
timer2.Enabled = false;
}
}
string keyupdown = "";
string keyleftright = "";
//private void Form1_KeyDown(object sender, KeyEventArgs e)
//{
// switch (e.KeyCode)
// {
// case Keys.Up:
// keyupdown = "up";
// timer1.Enabled = true;
// break;
// case Keys.Down:
// keyupdown = "down";
// timer1.Enabled = true;
// break;
// case Keys.Left:
// keyleftright = "left";
// timer2.Enabled = true;
// break;
// case Keys.Right:
// keyleftright = "right";
// timer2.Enabled = true;
// break;
// }
//}
private void timer1_Tick(object sender, EventArgs e)
{
switch (keyupdown)
{
case "down":
pictureBox1.Top = pictureBox1.Top + 6;
break;
case "up":
pictureBox1.Top = pictureBox1.Top - 6;
break;
}
}
private void timer2_Tick(object sender, EventArgs e)
{
switch (keyleftright)
{
case "right":
pictureBox1.Left = pictureBox1.Left + 6;
break;
case "left":
pictureBox1.Left = pictureBox1.Left - 6;
break;
}
}
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Up:
keyupdown = "";
timer1.Enabled = false;
break;
case Keys.Down:
keyupdown = "";
timer1.Enabled = false;
break;
case Keys.Left:
keyleftright = "";
timer2.Enabled = false;
break;
case Keys.Right:
keyleftright = "";
timer2.Enabled = false;
break;
}
}
protected override bool ProcessDialogKey(Keys keyData)
{
switch (keyData)
{
case Keys.Up:
keyupdown = "up";
timer1.Enabled = true;
break;
case Keys.Down:
keyupdown = "down";
timer1.Enabled = true;
break;
case Keys.Left:
keyleftright = "left";
timer2.Enabled = true;
break;
case Keys.Right:
keyleftright = "right";
timer2.Enabled = true;
break;
//default:
// keyupdown = "";
// timer1.Enabled = false;
// keyleftright = "";
// timer2.Enabled = false;
// break;
}
return base.ProcessDialogKey(keyData);
}