All pastes #9937 Raw Edit

tobz

public text v1 · immutable
#9937 ·published 2005-04-20 21:07 UTC
rendered paste body
#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;
        }
    }
}