سلام دوستان
من دارم برنامه تتریس رو مینویسم اما نمیدونم چطور شکل ها رو با استفاده از دکمه های کیبورد حرکت بدم
از چه کدی باید استفاده شه؟
برای ساخت شکل ها هم از button استفاده کردم
ممنون میشم کمک کنین
سلام دوستان
من دارم برنامه تتریس رو مینویسم اما نمیدونم چطور شکل ها رو با استفاده از دکمه های کیبورد حرکت بدم
از چه کدی باید استفاده شه؟
برای ساخت شکل ها هم از button استفاده کردم
ممنون میشم کمک کنین
من که جوابتون یه دفعه داده بودم .مگه درست نبود ؟؟؟
if (e.KeyCode == Keys.Up) button1.Top -= 10;//10 vahed be bala
if (e.KeyCode == Keys.Down) button1.Top += 10;//10 vahed be payin
if (e.KeyCode == Keys.Left) button1.Left -= 10;//10 vahed be Chap
if (e.KeyCode == Keys.Right) button1.Left += 10;//10 vahed be Rast
اررور میده...
The event 'System.Windows.Forms.Control.KeyDown' can only appear on the left hand side of += or -= 3
برای حرکت دادن PictureBox اینطور میشه:
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 WindowsFormsApplication3
{
public partial class Form1 : Form
{
PictureBox pic;
public Form1()
{
InitializeComponent();
pic = new PictureBox();
this.Controls.Add(pic);
pic.BackColor = Color.Black;
this.KeyDown += new KeyEventHandler(Form1_KeyDown);
}
void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 37)
pic.Left -= 10;
if (e.KeyValue == 39)
pic.Left += 10;
if (e.KeyValue == 38)
pic.Top -= 10;
if (e.KeyValue == 40)
pic.Top += 10;
}
}
}
خصوصیت foemkeypreview باید true باشد .
بهتر است از
if (e.KeyCode == Keys.Up) button1.Top -= 10;//10 vahed be bala
استفاده شود .