fy">//серіалізація.Serialize (fileStream, tns);
//закриваємо поток.Close ();
}
} private void menuItemЗагрузіть_Click (object sender, EventArgs e)
{(openFileDialogTN.ShowDialog () == DialogResult.OK)
{
//екземпляр xmlSer класу XmlSerializer потрібен для десеріалізациі
XmlSerializer xmlSer=new
XmlSerializer (typeof (TransportNetworkSerialization));
//ім'я файлу з якого буде здійснюватися десеріалізациі
//string fileName=System.Environment.CurrentDirectory + tst.xml raquo ;; fileName=openFileDialogTN.FileName;
//потік fileStream для читання XML-файлаfileStream=new FileStream (fileName, FileMode.Open); tns=new TransportNetworkSerialization ();
//десеріалізацію=(TransportNetworkSerialization) xmlSer.Deserialize (fileStream);
//закриваємо поток.Close ();
//тепер потрібно розгорнути транспортну мережу
//потрібно очистити всі спіскі.aEdge.Clear ();
tn.aVertex.Clear () ;. aGraph.Clear ();
//і візуальні списки теж необхідно очистити
comboBoxEdge.Items.Clear () ;. Items.Clear ();
comboBoxGraph.Items.Clear ();
//і поля введення теж необхідно очистити
textBoxGraphTitle.Text= raquo ;;. Text= raquo ;;. Checked=false; .Checked=true; .Checked=true; .BackColor=Color.Black; .Text= raquo ;;. Text= raquo ;;. Checked=false; .Checked=true; .Checked=true; .BackColor=Color.White; .Text= raquo ;;. Text= ; .Checked=false; .Checked=true; .Checked=true; .BackColor=Color.White; .Value=0;
//а тепер в списки потрібно додавати значення
//спочатку будемо додавати графи (int i=0; i lt; tns.aGraph.Length; i ++)
{_ Click (sender, e) ;. Text=tns.aGraph [i] .title; .Text=tns.aGraph [i] .description; .Checked=tns.aGraph [i]. deleted; .Checked=tns.aGraph [i] .enabled; .Checked=tns.aGraph [i] .visible; .BackColor=Color.FromArgb (tns.aGraph [i] .colorR,
tns.aGraph [i] .colorG, tns.aGraph [i] .colorB) ;. aGraph [i] .Color=panelGraph.BackColor;
}
//тепер необхідно додати вершини
for (int i=0; i lt; tns.aVertex.Length; i ++)
{. SelectedIndex=tns.aVertex [i] .iGraph; _Click (sender, e) ;. Text=tns.aVertex [i] .title; .Text=tns.aVertex [i]. description; .Checked=tns.aVertex [i] .deleted; .Checked=tns.aVertex [i] .enabled; .Checked=tns.aVertex [i] .visible; .BackColor=Color.FromArgb (tns.aVertex [i ] .colorR,
tns.aVertex [i] .colorG, tns.aVertex [i] .colorB) ;. aVertex [i] .Color=panelVertex.BackColor; .aVertex [i] .X=tns.aVertex [i] .x; .aVertex [i] .Y=tns.aVertex [i] .y;
}
//і, нарешті необхідно додати р? бра (int i=0; i lt; tns.aEdge.Length; i ++)
{(tn.AddEdge (tns.aEdge [i] .srcvertex, tns.aEdge [i] .destvertex) == true)
{
//його ім'я записуємо в спісок.Items.Add (tn.aEdge [tn.aEdge.Count - 1] .Title);
//і воно стає текущім.SelectedIndex=tn.aEdge.Count - 1;
}. Text=tns.aEdge [i] .title; .Text=tns.aEdge [i] .description; .Checked=tns.aEdge [i] .deleted; .Checked=tns. aEdge [i] .enabled; .Checked=tns.aEdge [i] .visible; .BackColor=Color.FromArgb (tns.aEdge [i] .colorR,
tns.aEdge [i] .colorG, tns.aEdge [i] .colorB) ;. aEdge [i] .Color=panelEdge.BackColor; .Value=tns.aEdge [i] .weight ;
}
//спочатку встановлюємо ширину і висоту транспортної мережі
this.numericUpDownWidth.Value=tns.width; .numericUpDownHeight.Value=tns.height;
}
} void PreSerialize (TransportNetworkSerialization tns)
{
//підготувати дані для серіалізациі
//спочатку підготувати графи
tns.aGraph=new GraphSerialization [this.aGraph.Count]; (int i=0; i lt; tns.aGraph.Length; i ++)
{. aGraph [i]=new GraphSerialization () ;. aGraph [i] .colorR=this.aGraph [i] .Color.R; .aGraph [i] .colorG=this.aGraph [i] .Color.G; .aGraph [i] .colorB=this.aGraph [i] .Color.B; .aGraph [i] .deleted=this.aGraph [i] .Deleted; .aGraph [i]. description=this.aGraph [i] .Description; .aGraph [i] .enabled=this.aGraph [i] .Enabled; .aGraph [i] .selected=this.aGraph [i] .Selected; .aGraph [i].title=this.a...