📄 formshowmap.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace immune_algorithm
{
public partial class FormShowMap : Form
{
public Graphics g;
public ArrayList shortestList;
public generateResult rr;
public Guid projectId;
public string projectName;
public FormShowMap()
{
InitializeComponent();
}
public FormShowMap(generateResult result,Guid projectId,string projectName)
{
this.shortestList = result.list;
this.projectId = projectId;
this.projectName = projectName;
rr = result;
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs e)
{
}
private void FormShowMap_Load(object sender, EventArgs e)
{
}
private void FormShowMap_Paint(object sender, PaintEventArgs e)
{
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
}
private void pictureBox1_LoadCompleted(object sender, AsyncCompletedEventArgs e)
{
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)//依照各个城市的坐标作图
{
ArrayList listCityPosition;
System.Console.Out.WriteLine(this.projectName + "this.projectName");
if (this.projectName.Equals("长治市物流调配系统"))
{
listCityPosition = GetAllCitysPositionAroundChangzhi();//获取长治地区周围的城市坐标
}
else
{
listCityPosition = GetAllCitysPosition();//获取太原地区周围的城市坐标
}
for (int i = 0; i < listCityPosition.Count; i++)
{
System.Console.Out.WriteLine(rr.length+"rr.length");
System.Console.Out.WriteLine(((Position)listCityPosition[i]).name);
System.Console.Out.WriteLine(((Position)listCityPosition[i]).cityId);
}
Position p;
int sx=0;
int sy=0;
int ex=0;
int ey=0;
for (int i = 0; i < shortestList.Count; i++)
{
System.Console.Out.WriteLine(((ClassPathNode)shortestList[i]).city.cityId+"cityId");
System.Console.Out.WriteLine(((ClassPathNode)shortestList[i]).city.cityName+"cityName");
}
for (int i = 0; i < shortestList.Count; i++)
{
Classcity city = ((ClassPathNode)shortestList[i]).city;
for (int j = 0; j < listCityPosition.Count; j++)
{
if (city.cityId.Equals(((Position)listCityPosition[j]).cityId))
{
if (i == 0)
{
p = (Position)listCityPosition[j];
sx = p.x;
sy = p.y;
for (int k = 0; k < 3; k++)
{
FillEllipse(Brushes.White, sx, sy);
System.Threading.Thread.Sleep(500);
FillEllipse(Brushes.Red, sx, sy);
System.Threading.Thread.Sleep(500);
}
}
else
{
p = (Position)listCityPosition[j];
ex = p.x;
ey = p.y;
DrawLine(sx, sy, ex, ey);
System.Threading.Thread.Sleep(500);
for (int k = 0; k < 3; k++)
{
FillEllipse(Brushes.White, ex, ey);
System.Threading.Thread.Sleep(500);
FillEllipse(Brushes.Red, ex, ey);
System.Threading.Thread.Sleep(500);
}
sx = ex;
sy = ey;
}
}
}
}
}
private void FillEllipse(Brush brush,int px,int py)
{
g = this.pictureBox1.CreateGraphics();
//int px = this.lblTaiyuan.Location.X;
//int py = this.lblTaiyuan.Location.Y;
g.FillEllipse(brush, px, py, 20, 20);
// g.DrawEllipse(Pens.Blue, px, py, 110, 110);
}
private void DrawLine(int sx,int sy,int ex,int ey)
{
Pen p = new Pen(Brushes.Red,3.5F);
g.DrawLine(p,sx+10,sy+10,ex+10,ey+10);
}
private ArrayList GetAllCitysPositionAroundChangzhi()//获取长治地区的城市地理位置
{
ArrayList listPosition = new ArrayList();
Position p1 = new Position();
p1.x = lblwuxiang.Location.X;
p1.y = lblwuxiang.Location.Y;
p1.name = "武乡";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblqinxian.Location.X;
p1.y = lblqinxian.Location.Y;
p1.name = "沁县";
listPosition.Add(p1);
p1 = new Position();
p1.x = lbllicheng.Location.X;
p1.y = lbllicheng.Location.Y;
p1.name = "黎城";
listPosition.Add(p1);
p1 = new Position();
p1.x = lbltunliu.Location.X;
p1.y = lbltunliu.Location.Y;
p1.name = "屯留";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblqinyuan.Location.X;
p1.y = lblqinyuan.Location.Y;
p1.name = "沁源";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblanze.Location.X;
p1.y = lblanze.Location.Y;
p1.name = "安泽";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblluchengshi.Location.X;
p1.y = lblluchengshi.Location.Y;
p1.name = "潞城市";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblchangzhi.Location.X;
p1.y = lblchangzhi.Location.Y;
p1.name = "长治";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblpingshun.Location.X;
p1.y = lblpingshun.Location.Y;
p1.name = "平顺";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblhuguan.Location.X;
p1.y = lblhuguan.Location.Y;
p1.name = "壶关";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblchangzhixian.Location.X;
p1.y = lblchangzhixian.Location.Y;
p1.name = "长治县";
listPosition.Add(p1);
p1 = new Position();
p1.x = lbllingchuan.Location.X;
p1.y = lbllingchuan.Location.Y;
p1.name = "陵川";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblgaoping.Location.X;
p1.y = lblgaoping.Location.Y;
p1.name = "高平";
listPosition.Add(p1);
ArrayList arrayListCity = (ArrayList)Classcity.generateCitys(this.projectId);
for (int i = 0; i < listPosition.Count; i++)
{
//System.Console.Out.WriteLine(((Position)listPosition[i]).name);
//System.Console.Out.WriteLine(((Classcity)arrayListCity[i]).cityName);
//System.Console.Out.WriteLine("sdffffffffffffffffffffffffffffffffffff");
string name = ((Position)listPosition[i]).name.ToString();
System.Console.Out.WriteLine(name + "...............................");
for (int j = 0; j < arrayListCity.Count; j++)
{
string cityName = ((Classcity)arrayListCity[j]).cityName.Trim();
// StringBuilder cityName1 = new StringBuilder(cityName);
//System.Console.Out.WriteLine(name);
// System.Console.Out.WriteLine(cityName);
if (cityName.Equals(name))
{
//System.Console.Out.WriteLine("sdgggggggggggggggggggggggggggggggggggggggggggggggggg");
//System.Console.Out.WriteLine("jinruxunhuan.........................");
((Position)listPosition[i]).cityId = ((Classcity)arrayListCity[j]).cityId;
}
}
// System.Console.Out.WriteLine("...............................");
}
return listPosition;
}
private ArrayList GetAllCitysPosition()//获取各个城市的坐标
{
ArrayList listPosition = new ArrayList();
Position p1 = new Position();
p1.x = lblDaixian.Location.X;
p1.y = lblDaixian.Location.Y;
p1.name = "代县";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblNingwu.Location.X;
p1.y = lblNingwu.Location.Y;
p1.name = "宁武";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblYuanping.Location.X;
p1.y = lblYuanping.Location.Y;
p1.name = "原平";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblXinzhou.Location.X;
p1.y = lblXinzhou.Location.Y;
p1.name = "忻州";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblTaiyuan.Location.X;
p1.y = lblTaiyuan.Location.Y;
p1.name = "太原";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblSouyang.Location.X;
p1.y = lblSouyang.Location.Y;
p1.name = "寿阳";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblYuci.Location.X;
p1.y = lblYuci.Location.Y;
p1.name = "榆次";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblQingxu.Location.X;
p1.y = lblQingxu.Location.Y;
p1.name = "清徐";
listPosition.Add(p1);
p1 = new Position();
p1.x = lblGujiao.Location.X;
p1.y = lblGujiao.Location.Y;
p1.name = "古交";
listPosition.Add(p1);
ArrayList arrayListCity = (ArrayList)Classcity.generateCitys(this.projectId);
string ss = "nihao";
string ss1 = "nihoa";
if (ss1.Equals(ss))
{
System.Console.Out.WriteLine("nihao ssssssssssssssssssssssssssssssssssss");
}
for (int i = 0; i <listPosition.Count; i++)
{
//System.Console.Out.WriteLine(((Position)listPosition[i]).name);
//System.Console.Out.WriteLine(((Classcity)arrayListCity[i]).cityName);
//System.Console.Out.WriteLine("sdffffffffffffffffffffffffffffffffffff");
string name = ((Position)listPosition[i]).name.ToString();
//StringBuilder name1 = new StringBuilder(name);
System.Console.Out.WriteLine(name+"...............................");
for (int j = 0; j < arrayListCity.Count; j++)
{
string cityName = ((Classcity)arrayListCity[j]).cityName.Trim();
// StringBuilder cityName1 = new StringBuilder(cityName);
//System.Console.Out.WriteLine(name);
// System.Console.Out.WriteLine(cityName);
if (cityName.Equals(name))
{
//System.Console.Out.WriteLine("sdgggggggggggggggggggggggggggggggggggggggggggggggggg");
//System.Console.Out.WriteLine("jinruxunhuan.........................");
((Position)listPosition[i]).cityId = ((Classcity)arrayListCity[j]).cityId;
}
}
// System.Console.Out.WriteLine("...............................");
}
return listPosition;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -