Exemple #1
0
 private void pictureBox_MouseDown(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         if (isMoving)
         {
             //đang di chuyển hình
         }
         else
         {
             if (hinhHienTai == null || hinhHienTai.KiemTraViTri(e.Location) == -1)
             {
                 hinhHienTai = LayHinhVeHienTai(IDhinhHienTai);
             }
             if (hinhHienTai != null)                                  //&& hinhHienTai.loaiHinh!=0)
             {
                 hinhHienTai.Mouse_Down(e);                            //gọi sự kiện mouse_down của hình
                 btnFillHinhVuong.Refresh();                           //làm mới
                 lHV.listHinh.Insert(lHV.listHinh.Count, hinhHienTai); //thêm hình mới vào list
             }
         }
     }
     else
     {
         hinhHienTai = null;
     }
 }
Exemple #2
0
        private void PictureBox_MouseUp(object sender, MouseEventArgs e)
        {
            if (hinhHienTai != null && hinhHienTai.loaiHinh == 0 && isMoving == false)
            {
                lHV.XoaHinhCuoi();
                btnFillHinhVuong.Refresh();

                hinhHienTai = null;
            }
            if (hinhHienTai != null && isMoving == false)
            {
                lHV.listHinh.Insert(lHV.listHinh.Count, hinhHienTai); //thêm hình mới vào list
                hinhHienTai.Mouse_Up(sender);
            }
            if (isMoving)
            {
                hinhHienTai.Mouse_Up(sender);
                btnFillHinhVuong.Refresh();
                btnCircle_Click(btnSizeMove, e);
                isMoving = false;
            }
        }
Exemple #3
0
 private void btnXoaHinhCuoi_Click(object sender, EventArgs e)
 {
     lHV.XoaHinhCuoi();
     btnFillHinhVuong.Refresh();
     hinhHienTai = null;
 }
Exemple #4
0
        private void pictureBox_MouseMove(object sender, MouseEventArgs e)
        {
            lblPosition.Text = "Mouse location: (" + e.Location.X.ToString() + ", " + e.Location.Y.ToString() + ")";

            if (IDhinhHienTai == -1)  //nút "Vị trí và kích cỡ" đã được bấm
            {
                if (isMoving == false)
                {
                    for (int i = lHV.listHinh.ToArray().Length - 1; i >= 0; i--)        //kiểm tra từng hình xem hình nào bị...
                    {
                        int vt = (lHV.listHinh.ToArray())[i].KiemTraViTri(e.Location);
                        if (vt == 0)        //...chuột di chuyển trên bề mặt
                        {
                            hinhHienTai = (lHV.listHinh.ToArray())[i];
                            if (e.Button == MouseButtons.Left)      //=> sẽ di chuyển hình này
                            {
                                Cursor = Cursors.Hand;
                                hinhHienTai.diChuyen = true;          //cho phép di chuyển
                                isMoving             = true;          //bật cờ đang di chuyển
                                btnCircle_Click(btnConTro, e);        //mượn nút "Chuột" để di chuyển (bản thân nút "Vị trí và kích cỡ" sẽ không di chuyển hình
                                btnFillHinhVuong.Refresh();
                                lHV.listHinh.RemoveAt(i);             //sau khi di chuyển sẽ phát sinh hình mới tại vị trí mới=>xóa hình cũ
                            }
                            else // chuột đi qua mà không bấm
                            {
                                isMoving             = false;
                                hinhHienTai.diChuyen = false;
                            }
                            Cursor = Cursors.Hand;
                            btnFillHinhVuong.Refresh();
                            break;
                        }
                        else if (vt > 0) //...chuột chỉ đúng điểm điều khiển (1 trong 8 chấm vuông nhỏ làm khung)   => sẽ thay đổi kích thước hình này
                        {
                            hinhHienTai = (lHV.listHinh.ToArray())[i];
                            if (e.Button == MouseButtons.Left)
                            {
                                hinhHienTai.diChuyen = false;               //không cho phép di chuyển
                                isMoving             = true;
                                btnCircle_Click(btnConTro, e);
                                btnFillHinhVuong.Refresh();
                                lHV.listHinh.RemoveAt(i);
                            }
                            else
                            {
                                isMoving = false;
                            }

                            Cursor = Cursors.Cross;
                            btnFillHinhVuong.Refresh();
                            break;
                        }

                        else //tìm trong danh sách không có hình nào bị chuột đi qua
                        {
                            Cursor = Cursors.Default;
                        }
                    }
                }
            }
            else  //không phải nút "Vị trí và kích cỡ" => là nút vẽ hình hoặc nút "Chuột"
            {
                if (hinhHienTai != null)
                {
                    if (hinhHienTai.KiemTraViTri(e.Location) > 0)   //nếu chuột chỉ đúng 1 trong 8 chấm vuông nhỏ => đổi chuột thành hình dấu +
                    {
                        Cursor = Cursors.Cross;
                    }

                    else if (hinhHienTai.KiemTraViTri(e.Location) == 0)     //tương tự với lúc chuột nằm trong hình => chuột hình bàn tay
                    {
                        Cursor = Cursors.Hand;
                    }
                    else
                    {
                        Cursor = Cursors.Default;       //còn lại thì mặc định
                    }
                }

                if (e.Button == MouseButtons.Left)
                {
                    if (hinhHienTai != null)
                    {
                        hinhHienTai.Mouse_Move(e);
                        btnFillHinhVuong.Refresh();
                    }
                }
            }
        }