code.club

標題: 用程式碼直接創設3x3圖像以及可移動的屬性 [打印本頁]

作者: csharp    時間: 2021-6-25 18:11
標題: 用程式碼直接創設3x3圖像以及可移動的屬性
本帖最後由 csharp 於 2021-6-25 19:15 編輯

  1. public partial class Form1 : Form
  2.     {

  3.         int oldX;
  4.         int oldY;
  5.         bool isdown;
  6.         public Form1()
  7.         {
  8.             InitializeComponent();
  9.             PictureBox[] pb = new PictureBox[9];
  10.             for (int i = 0; i < 9; i++) pb[i] = new PictureBox();
  11.            
  12.             for (int i = 0; i < 9; i++)
  13.                 {
  14.                     pb[i].Location = new System.Drawing.Point(50 + i %3* 99, i/3* 99);
  15.                     pb[i].Size = new Size(99, 99);
  16.                     pb[i].Image = Image.FromFile("d:\\img\\" + (i + 1) + ".jpg");
  17.                     Controls.Add(pb[i]);  
  18.                 }

  19.             for (int i = 0; i < 9; i++)
  20.             {
  21.                 pb[i ].MouseDown += new MouseEventHandler(pb_mousedown);
  22.                 pb[i ].MouseMove += new MouseEventHandler(pb_mousemove);
  23.                 pb[i].MouseUp += new MouseEventHandler(pb_mouseup);
  24.             }
  25.         }
  26.         
  27.         
  28.         void pb_mousedown(object sender, MouseEventArgs e)
  29.         {
  30.             PictureBox pb = (PictureBox)sender;
  31.             isdown = true;
  32.             oldX = e.X;
  33.             oldY = e.Y;
  34.         }

  35.         void pb_mousemove(object sender, MouseEventArgs e)
  36.         {
  37.             PictureBox pb = (PictureBox)sender;
  38.             if (isdown)
  39.             {
  40.                 pb.Top += e.Y - oldY;
  41.                 pb.Left += e.X - oldX;
  42.             }
  43.         }

  44.         void pb_mouseup(object sender, MouseEventArgs e)
  45.         {
  46.             isdown = false;
  47.         }
  48.         
  49.     }
複製代碼





歡迎光臨 code.club (https://code.club/) Powered by Discuz! X3.2