/// <summary>Handles the Load event of the DescriptionGeneratorControl control.</summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
 private void DescriptionGeneratorControl_Load(object sender, EventArgs e)
 {
     // Try to generate a basic summary when a type name is available for use
     if (!string.IsNullOrEmpty(GeneratorDescriptor.Name))
     {
         Btn_Generate.PerformClick();
     }
 }
        private void Btn_Generate_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Please note that this may take a while, but should not take more than 5 minutes on a decent connection.");

            Btn_Generate.Enabled = false;
            Cb_Languages.Enabled = false;

            ThreadPool.QueueUserWorkItem(Translate, Cb_Languages.Text);
            Thread.Sleep(1000);

            var dotCount = 0;

            while (IsTranslating)
            {
                Btn_Generate.Text = "Generating";
                Thread.Sleep(1000);

                dotCount++;
                if (dotCount > 3)
                {
                    dotCount = 0;
                }

                for (var i = 0; i < dotCount; i++)
                {
                    Btn_Generate.Text += '.';
                }

                Btn_Generate.Update();
                Update();
            }

            Btn_Generate.Enabled = true;
            Cb_Languages.Enabled = true;
            Btn_Generate.Text    = "Generate";
        }