⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formshowmap.cs

📁 一个使用免疫算法实现物流调度的源代码
💻 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 + -