Я создал форму окна, которая, когда я нажимаю на кнопку, показывает движение панды.Это работает, когда я добавляю одну Панду, но я хочу, чтобы другая панда появлялась при нажатии кнопки.Я пытаюсь, когда я нажимаю на кнопку в другой раз, чтобы показать другую панду!Когда я нажимаю кнопку, моя панда исчезает и снова появляется из начальной точки и начинает двигаться!
(например, нажатие кнопки 3 раза = перемещение 3 панд в моей форме)
Это код для класса под названием "панда":
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
namespace test_moving_pic
{
class panda
{
public Image img_panda;
public Rectangle rect_panda;
public panda(Image img, Rectangle rect)
{
this.img_panda = img;
this.rect_panda = rect;
}
}
}
и это код, который я использовал для своей формы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace test_moving_pic
{
public partial class Form1 : Form
{
Image image;
Rectangle rect;
int direction = 3;
public Form1()
{
InitializeComponent();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
if (image != null && rect != null)
g.DrawImage(image, rect);
}
private void timer1_Tick(object sender, EventArgs e)
{
rect.X += this.direction;
rect.Y += this.direction;
if (rect.X <= 100 && rect.Y <= 100)
{
rect.X += this.direction;
rect.Y += this.direction;
}
else
{
rect.Y += this.direction;
if (rect.Y >= 100)
{
rect.Y = 100;
rect.X += this.direction;
}
}
Invalidate();
}
private void button1_Click(object sender, EventArgs e)
{
panda p = new panda(Image.FromFile("C:\\Users\\hsnha\\OneDrive\\Desktop\\Panda.png"), new Rectangle(20, 20, 70, 70));
image = p.img_panda;
rect = p.rect_panda;
}
}
}