#region Using directives using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Windows.Forms; using System.Xml; using System.Text; using System.Net; using System.IO; using System.Threading; #endregion namespace Launcher { partial class Form1 : Form { string serverXml = "http://www.daocportal.net/serverlistxml.php"; public Form1() { InitializeComponent(); //LoadServers(serverXml); } private void settingsToolStripMenuItem_Click(object sender, EventArgs e) { panel2.Visible = false; panel3.Visible = false; panel1.Visible = true; groupBox1.Text = "Settings"; } private void aboutToolStripMenuItem_Click(object sender, EventArgs e) { panel1.Visible = false; panel3.Visible = false; panel2.Visible = true; groupBox1.Text = "About"; } delegate void LoadServersDelegate(string xmlUrl); private void Form1_Load(object sender, EventArgs e) { panel1.Visible = false; panel2.Visible = false; panel3.Visible = true; groupBox1.Text = "Servers"; LoadServersDelegate loadServers = new LoadServersDelegate(LoadServers); loadServers.BeginInvoke(serverXml, null, null); } private void serversToolStripMenuItem_Click(object sender, EventArgs e) { panel1.Visible = false; panel2.Visible = false; panel3.Visible = true; groupBox1.Text = "Servers"; LoadServersDelegate loadServers = new LoadServersDelegate(LoadServers); loadServers.BeginInvoke(serverXml, null, null); } public void LoadServers(string xmlUrl) { WebClient webClient = new WebClient(); Byte[] xmlByte = webClient.DownloadData(xmlUrl); string xmlString = Encoding.Default.GetString(xmlByte); StreamWriter sr = File.CreateText("server.xml"); sr.WriteLine(xmlString); sr.Close(); XmlDocument xml = new XmlDocument(); xml.Load("server.xml"); XmlNodeList serverList = xml.GetElementsByTagName("serverlist"); listView1.Items.Clear(); for (int i = 0; i < serverList[0].ChildNodes.Count; i++) { listView1.Items.Add(new ListViewItem(new string[] { serverList[0].ChildNodes[i].Attributes.GetNamedItem("name").Value, serverList[0].ChildNodes[i].ChildNodes[1].InnerText, serverList[0].ChildNodes[i].ChildNodes[5].InnerText } )); } } private void Settings_Click(object sender, EventArgs e) { panel2.Visible = false; panel3.Visible = false; panel1.Visible = true; groupBox1.Text = "Settings"; } private void button3_Click_1(object sender, EventArgs e) { folderBrowserDialog1.ShowDialog(); textBox5.Text = folderBrowserDialog1.SelectedPath; } } }