private void Network_OnLogin(object sender, LoginProgressEventArgs e)
        {
            if (e.Status == LoginStatus.Success)
            {
                Random rand = new Random();

                // AgentSetAppearance
                AgentSetAppearancePacket appearance = new AgentSetAppearancePacket();
                appearance.VisualParam = new AgentSetAppearancePacket.VisualParamBlock[218];
                // Setup some random appearance values
                for (int i = 0; i < 218; i++)
                {
                    appearance.VisualParam[i]            = new AgentSetAppearancePacket.VisualParamBlock();
                    appearance.VisualParam[i].ParamValue = (byte)rand.Next(255);
                }
                appearance.AgentData.AgentID       = Client.Self.AgentID;
                appearance.AgentData.SessionID     = Client.Self.SessionID;
                appearance.AgentData.SerialNum     = 1;
                appearance.AgentData.Size          = new Vector3(0.45F, 0.6F, 1.831094F);
                appearance.ObjectData.TextureEntry = Utils.EmptyBytes;

                Client.Network.SendPacket(appearance);

                // Request our balance
                Client.Self.RequestBalance();

                BeginInvoke(
                    (MethodInvoker) delegate()
                {
                    lblName.Text        = Client.ToString();
                    txtFind.Enabled     = cmdFind.Enabled = true;
                    txtTransfer.Enabled = cmdTransfer.Enabled = true;
                });
            }
            else if (e.Status == LoginStatus.Failed)
            {
                BeginInvoke(
                    (MethodInvoker) delegate()
                {
                    MessageBox.Show(this, "Error logging in: " + Client.Network.LoginMessage);
                    cmdConnect.Text      = "Connect";
                    txtFirstName.Enabled = txtLastName.Enabled = txtPassword.Enabled = true;
                    txtFind.Enabled      = cmdFind.Enabled = false;
                    lblName.Text         = lblBalance.Text = String.Empty;
                    txtTransfer.Enabled  = cmdTransfer.Enabled = false;
                });
            }
        }