/// <summary>
        /// When an account's credentials have been updated.
        /// </summary>
        /// <returns></returns>
        private void OnUpdated(Object sender, AccountCreationEventArgs args)
        {
            m_creationArgs = args;

            // Updates the picture and label for key level
            switch (args.KeyLevel)
            {
                default:
                    keyPicture.Image = CommonProperties.Resources.APIKeyWrong;
                    keyLabel.Text = m_creationArgs.Result.ErrorMessage;
                    errorGuideLabel.Visible = true;
                    errorGuideLabel.BringToFront();
                    break;
                case CredentialsLevel.Limited:
                    keyPicture.Image = CommonProperties.Resources.APIKeyLimited;
                    keyLabel.Text = "This is a limited API key.";
                    errorGuideLabel.Visible = false;
                    break;
                case CredentialsLevel.Full:
                    keyPicture.Image = CommonProperties.Resources.APIKeyFull;
                    keyLabel.Text = "This is a full API key.";
                    errorGuideLabel.Visible = false;
                    break;
            }

            // Updates the characters list
            charactersListView.Items.Clear();
            foreach (var id in args.Identities)
            {
                var item = new ListViewItem(id.Name);
                item.Checked = (m_account == null || !m_account.IgnoreList.Contains(id));
                item.Tag = id;

                charactersListView.Items.Add(item);
            }

            // Selects the last page
            throbber.State = ThrobberState.Stopped;
            multiPanel.SelectedPage = resultPage;
        }
 /// <summary>
 /// On the first page, when a textbox is changed, we ensure the previously generated <see cref="AccountCreationEventArgs"/> is destroyed.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void apiKeyTextBox_TextChanged(object sender, EventArgs e)
 {
     m_creationArgs = null;
 }
 /// <summary>
 /// Cancel.
 /// Closes the window.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void cancelButton_Click(object sender, EventArgs e)
 {
     m_creationArgs = null;
     Close();
 }