private ConnectivityObject crossbypoint(System.Windows.Point _p) { ConnectivityObject co = null; try { foreach (ConnectivityObject _co in symbols) { if (Math.Abs(_co.X - _p.X) <= 15 && Math.Abs(_co.Y - _p.Y) <= 15) { co = _co; return(co); } } foreach (ConnectivityObject _no in nodes) { if (Math.Abs(_no.X - _p.X) <= 10 && Math.Abs(_no.Y - _p.Y) <= 10) { co = _no; return(co); } } } catch (Exception) { } return(co); }
private void ConnectivityForm_MouseMove(object sender, MouseEventArgs e) { try { var symbolObject = oldco as SymbolObject; if (symbolObject != null) { symbolObject.pointTemp = new System.Windows.Point(-1234, -4321); } var co = crossbypoint(new System.Windows.Point(e.X, e.Y)); if (co != null && co is SymbolObject) { label1.Visible = true; label1.Location = new Point(e.X + 3, e.Y + 3); label1.Text = (co as SymbolObject).sName; } else { label1.Visible = false; } if (oldco != null && oldco is SymbolObject) { if (isRmousedown) { oldco.X += e.X - oldpoint.X; oldco.Y += e.Y - oldpoint.Y; } else if (isLmousedown) { if ((oldco as SymbolObject) == sym1) { (oldco as SymbolObject).pointTemp = new System.Windows.Point(e.X, e.Y); ConnectivityObject no = crossbypoint(new System.Windows.Point(e.X, e.Y)); if (no != null && no is NodeObject) { if ((oldco as SymbolObject).nodeIndex == 1) { (oldco as SymbolObject).node1 = (NodeObject)no; } else if ((oldco as SymbolObject).nodeIndex == 2) { (oldco as SymbolObject).node2 = (NodeObject)no; } } } } } //else if (co != null && co is NodeObject) //{ // if (isLmousedown) // { // (co as SymbolObject).pointTemp = new System.Windows.Point(e.X, e.Y); // } //} //draw(); } catch (Exception) { } finally { oldpoint = new System.Windows.Point(e.X, e.Y); } }