private void Reload_Click(object sender, EventArgs e) { string message = "是否取消当前改变?"; string caption = "消息"; MessageBoxButtons buttons = MessageBoxButtons.OKCancel; MessageBoxIcon icon = MessageBoxIcon.Question; MessageBoxDefaultButton defaultResult = MessageBoxDefaultButton.Button2; // Show message box DialogResult result = MessageBox.Show(message, caption, buttons, icon, defaultResult); if (result == DialogResult.OK) { UtilityClass.CopyHashTableStringListArray(mf.NodeRouteMap, NewRouteMap); UtilityClass.CopyHashTableStringList(mf.NodeNetMap, NewNetMap); Net.Routes.Clear(); routes.Routes.Clear(); AddNet(); //AddRoutes(); string startnode = (string)NodeBox.SelectedItem; RefreshGrid(startnode); RefreshNeiborList(startnode); RefreshNetGrid(); Reload.Enabled = false; BuildRouteBtn.Enabled = false; StatusLabel.Text = "更改已撤销!"; } }
//保存配置为默认 private void SaveBtn_Click(object sender, EventArgs e) { mf.NodeRouteMap.Clear(); mf.NodeNetMap.Clear(); UtilityClass.CopyHashTableStringListArray(NewRouteMap, mf.NodeRouteMap); UtilityClass.CopyHashTableStringList(NewNetMap, mf.NodeNetMap); UtilityClass.CopyHashTableString(DistMap, mf.DistMap); //调用地图类的路由保存函数 mf.SaveInit(); mf.AddNet(); // StatusLabel.Text = "路由表已保存!"; Reload.Enabled = false; }
private void CancelBtn_Click(object sender, EventArgs e) { if (Reload.Enabled)//未保存或未重置 { string message = "是否保存当前改变?"; string caption = "消息"; MessageBoxButtons buttons = MessageBoxButtons.OKCancel; MessageBoxIcon icon = MessageBoxIcon.Question; MessageBoxDefaultButton defaultResult = MessageBoxDefaultButton.Button2; // Show message box DialogResult result = MessageBox.Show(message, caption, buttons, icon, defaultResult); if (result == DialogResult.OK) { UtilityClass.CopyHashTableStringListArray(NewRouteMap, mf.NodeRouteMap); UtilityClass.CopyHashTableStringList(NewNetMap, mf.NodeNetMap); //调用地图类的路由保存函数 mf.SaveInit(); // StatusLabel.Text = "路由表已保存!"; Reload.Enabled = false; BuildRouteBtn.Enabled = false; RouteisRunning = false; if (newthread != null) { newthread.Abort(); newthread.Join(); //newthread = null; } this.Close(); } } else { RouteisRunning = false; if (newthread != null) { newthread.Abort(); newthread.Join(); //newthread = null; } this.Close(); } }
private void SetRouteForm_Load(object sender, EventArgs e) { UtilityClass.CopyHashTableStringList(mf.NodeNetMap, NewNetMap); UtilityClass.CopyHashTableStringListArray(mf.NodeRouteMap, NewRouteMap); UtilityClass.CopyHashTableString(mf.DistMap, DistMap); double v = 0.5; // config map string[] str = { "地图配置", "地图中心", "纬度" }; double lat = double.Parse(XmlHelper.GetConfigValue(xmldoc, str)); string[] lngstr = { "地图配置", "地图中心", "经度" }; double lng = double.Parse(XmlHelper.GetConfigValue(xmldoc, lngstr)); PointLatLng p = new PointLatLng(lat, lng); // set node marker p.Offset(GpsToGmapOffset); routemap.Position = p; NodeMarker = new UserMarker(p); NodeMarker.IsHitTestVisible = true; objects.Markers.Add(NodeMarker); NodeMarker.ToolTipMode = MarkerTooltipMode.OnMouseOver; CultureInfo ci = new CultureInfo("en-us"); PointLatLng gpspos = NodeMarker.Position; gpspos.Offset(GmapToGpsOffset); NodeMarker.ToolTipText = "GPS\r\n{经度=" + gpspos.Lng.ToString("F08", ci) + ",纬度=" + gpspos.Lat.ToString("F08", ci) + "}"; string[] offsetstr = { "地图配置", "偏移校准", "纬度" }; string[] offsetstr1 = { "地图配置", "偏移校准", "经度" }; string offset = XmlHelper.GetConfigValue(xmldoc, offsetstr); double latoffset = 0; double lngoffset = 0; if (offset != null) { latoffset = double.Parse(offset); } offset = XmlHelper.GetConfigValue(xmldoc, offsetstr1); if (offset != null) { lngoffset = double.Parse(offset); } if ((lngoffset != 0) && (latoffset != 0)) { GmapToGpsOffset = new PointLatLng(latoffset, lngoffset); GpsToGmapOffset = new PointLatLng(-latoffset, -lngoffset); } routemap.MapType = mf.MainMap.MapType; routemap.MinZoom = 1; routemap.MaxZoom = 18; routemap.Zoom = 16; routemap.MapName = "路由设置"; gtl = new PointLatLng(lat + v, lng - v); gtl.Offset(GpsToGmapOffset); gbr = new PointLatLng(lat - v, lng + v); gbr.Offset(GpsToGmapOffset); //读取节点 XmlDocument xmlfile = new XmlDocument(); xmlfile.Load(xmldoc); XmlNode xn = xmlfile.DocumentElement; xn = xn.SelectSingleNode("descendant::节点配置"); foreach (XmlNode subnode in xn.ChildNodes) { NodeBox.Items.Add(subnode.Name); string[] sstr = { "节点配置", subnode.Name, "节点位置", "纬度" }; double slat = double.Parse(XmlHelper.GetConfigValue(xmldoc, sstr)); string[] lngsstr = { "节点配置", subnode.Name, "节点位置", "经度" }; double slng = double.Parse(XmlHelper.GetConfigValue(xmldoc, lngsstr)); //string[] desc = { "节点配置", subnode.Name, "节点描述" }; //string strdes = XmlHelper.GetConfigValue(xmldoc, desc); PointLatLng pp = new PointLatLng(slat, slng); pp.Offset(GpsToGmapOffset); GMapMarkerGoogleGreen newnode = new GMapMarkerGoogleGreen(pp); newnode.Tag = subnode.Name; newnode.ToolTipMode = MarkerTooltipMode.Always; newnode.IsHitTestVisible = true; pp.Offset(GmapToGpsOffset); newnode.ToolTipText = newnode.Tag.ToString(); WebNodeLayer.Markers.Add(newnode); } if (objects.Markers.Count > 0) { routemap.ZoomAndCenterMarkers(null); //ZoomSlider.Value = (int)MainMap.Zoom; } //AddRoutes(); AddNet(); RefreshNetGrid();//更新网络表 //注册网络表改变事件 Net.Routes.CollectionChanged += new GMap.NET.ObjectModel.NotifyCollectionChangedEventHandler(Net_CollectionChanged); }