PictureBox bewegen nicht möglich
-
Hallo ich bins wieder
Ich habe in einem Programm eine PictureBox die ich bewegen mag. Nun ist die mit folgendem Code nicht möglich:
[cs]namespace SpaceInvaders { public partial class Form1 : Form { public Form1() { InitializeComponent(); this.KeyDown += new KeyEventHandler(Form1_KeyDown); this.KeyUp += new KeyEventHandler(Form1_KeyUp); } private int Bewegung; private void timer1_Tick(object sender, EventArgs e) { //Bewegung des Schiffes //----------------------------------------------------------------------------------------------------------- Point Schiff = this.pictureBox22.Location; if(Bewegung == 1) this.pictureBox22.Location = new Point(Schiff.X--, Schiff.Y); if(Bewegung == 2) this.pictureBox22.Location = new Point(Schiff.X++, Schiff.Y); //Ende der Bewegung //----------------------------------------------------------------------------------------------------------- } private void Form1_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.A: Bewegung = 1; break; case Keys.D: Bewegung = 2; break; } } private void Form1_KeyUp(object sender, KeyEventArgs e) { Bewegung = 0; } } }[/cs]
Der Timer ist enabled und sonst habe ich keine weiteren Funktionen gefunden die ein Rolle spielen könnten.
Wenn ich das Programm nun ausführe startet alles automatisch nur wenn ich die Tasten drücke passiert: nichts.
Gibt es bei PictureBoxen irgendwelche besonderheiten auf die man achten sollte. Und wie kann ich diese nun verschieben?
mfg Mongole
PS: Habe schon Google bemhüht und auch die Forensuche, habe aber nichts richtiges gefunden.
-
Woher bekommt denn Schiff seine koordinaten ? Wenn Shiff.X konstant ist, ist Shiff.X-1 auch konstant.
-
Ahh Danke.
Schiff bekam seine Koordinaten von der pictureBox22.Ich habe jetzt einfach statt SChiff-- einfach SChiff -1 eingesetzt.
Jetzt geht es komischer Weise
Danke
mfg MongolidPS: Kann man Point Schiff = this.pictureBox22.Location auch als public machen? Würde mir sehr viel Code sparen^^