private void ptbArea_MouseDown(object sender, MouseEventArgs e) { if (checkCursorEdge(new Point(e.X, e.Y))) { edit_g_edge(new Point(e.X, e.Y)); } else if (!checkCursorVertex(new Point(e.X, e.Y)) && objectShape == DoiTuongVe.dinh) { CreateVertex(new Point(e.X, e.Y)); ptbArea.Invalidate(); } else if (checkCursorVertex(new Point(e.X, e.Y)) && Control.ModifierKeys == Keys.Shift) { //di chuyen dinh objectShape = DoiTuongVe.move; } else if (checkCursorVertex(new Point(e.X, e.Y))) { int temp = checkClickVertex(new Point(e.X, e.Y)); Vertex v = listVertex[temp]; try { CreateEdge(temp); objectShape = DoiTuongVe.canh; listEdge[listEdge.Count - 1].V2 = listVertex[temp]; } catch (Exception ex) { MessageBox.Show(ex.Message); } ptbArea.Invalidate(); } }
bool bHD = true;//show huong dan 1 lan public Input(Form1 fm1) { InitializeComponent(); this.fm1 = fm1; g = ptbArea.CreateGraphics(); objectShape = DoiTuongVe.dinh; listVertex = new List <Vertex>(); listEdge = new List <Edge>(); txtg = new TextBox(); }
private void ptbArea_MouseUp(object sender, MouseEventArgs e) { //if (listEdge.Count > 0) //{ // listEdge[listEdge.Count - 1].Point2 = new Point(e.X, e.Y); //} //checkDrawE = true; if (objectShape == DoiTuongVe.canh) { AddEdge(new Point(e.X, e.Y)); } objectShape = DoiTuongVe.dinh; ptbArea.Invalidate(); }