用程式碼直接創設3x3圖像以及可移動的屬性
本帖最後由 csharp 於 2021-6-25 19:15 編輯public partial class Form1 : Form
{
int oldX;
int oldY;
bool isdown;
public Form1()
{
InitializeComponent();
PictureBox[] pb = new PictureBox;
for (int i = 0; i < 9; i++) pb = new PictureBox();
for (int i = 0; i < 9; i++)
{
pb.Location = new System.Drawing.Point(50 + i %3* 99, i/3* 99);
pb.Size = new Size(99, 99);
pb.Image = Image.FromFile("d:\\img\\" + (i + 1) + ".jpg");
Controls.Add(pb);
}
for (int i = 0; i < 9; i++)
{
pb.MouseDown += new MouseEventHandler(pb_mousedown);
pb.MouseMove += new MouseEventHandler(pb_mousemove);
pb.MouseUp += new MouseEventHandler(pb_mouseup);
}
}
void pb_mousedown(object sender, MouseEventArgs e)
{
PictureBox pb = (PictureBox)sender;
isdown = true;
oldX = e.X;
oldY = e.Y;
}
void pb_mousemove(object sender, MouseEventArgs e)
{
PictureBox pb = (PictureBox)sender;
if (isdown)
{
pb.Top += e.Y - oldY;
pb.Left += e.X - oldX;
}
}
void pb_mouseup(object sender, MouseEventArgs e)
{
isdown = false;
}
}
頁:
[1]