csharp 發表於 2021-6-25 18:11:16

用程式碼直接創設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]
查看完整版本: 用程式碼直接創設3x3圖像以及可移動的屬性