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; } }
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; } }
private void btnXoaHinhCuoi_Click(object sender, EventArgs e) { lHV.XoaHinhCuoi(); btnFillHinhVuong.Refresh(); hinhHienTai = null; }
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(); } } } }