//vẽ hình tròn =ht truyền vào HinhTron VeHinhTron(int x, int y) { var ht = new HinhTron() { Location = new Point(x, y) }; ht.Color = Color.Blue; return(ht); }
//kiem tra hinh tron da co bool OverLapHt(HinhTron ht) { foreach (var item in this.tapDinhDt) { if (ht.Overlap(item)) { return(true); } } return(false); }
//xóa cạnh của hình tròn khi xóa 1 đỉnh của hình tròn void XoaCanh(HinhTron a) { for (int i = tapCanh.Count - 1; i >= 0; i--) { var dDau = tapCanh[i].DiemDau; var dCuoi = tapCanh[i].DiemCuoi; if (tapCanh[i].DiemDau.Equals(a) || tapCanh[i].DiemCuoi.Equals(a)) { tapCanh.RemoveAt(i); } } }
//xóa hình tròn khi double.click void ht_DoubleClick(object sender, EventArgs e) { demDinh--; var ht = sender as HinhTron; for (int i = 0; i < tapDinhDt.Count; i++) { if (ht.Equals(tapDinhDt[i])) { tapDinhDt.RemoveAt(i); } } XoaCanh(ht); lastedClick = null; form.Controls.Remove(ht); form.Invalidate(); }
//vẽ hình tròn từ sự kiện click void a_Click(object sender, EventArgs e) { var ht = sender as HinhTron; ht.Color = Color.Red; if (lastedClick == null) { lastedClick = ht; return; } if (ht.Equals(lastedClick)) { return; } var canh = new Canh(lastedClick, ht); ThemCanh(canh); lastedClick = null; }
public Canh(HinhTron lastedClick, HinhTron ht) { this.DiemDau = lastedClick; this.DiemCuoi = ht; }
/// <summary> /// Kiểm tra xem hai hinh tron co bi de len nhau hay khong /// </summary> /// <param name="other"></param> /// <returns></returns> public bool Overlap(HinhTron other) { return(other.Bounds.IntersectsWith(this.Bounds)); }