title: Can I use a combo box to change the voice of my speech synthesizer to one of the system TTS voices?
body: <p>I would like to have a combo box on my form which allows the user to select the voice which they would like to use. How can I implement such a feature?</p>
  
  <p>Currently, my form consists of four buttons and a combo box. The code behind the buttons and the synthesizer is as follows:</p>
  
  <pre><code>private void button1_Click(object sender, EventArgs e)
          {
              reader.Dispose();
              if (Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.Text != "")
              {
                  reader = new SpeechSynthesizer();
                  reader.SpeakAsync(Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.Text)
                  button2.Enabled = true;
                  button4.Enabled = true;
                  reader.SpeakCompleted += new EventHandler&lt;SpeakCompletedEventArgs&gt;(reader_SpeakCompleted);
              }
              else
              {
                  MessageBox.Show("Please insert text before launching Text to Speech.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
              }
          }
          void reader_SpeakCompleted(object sender, SpeakCompletedEventArgs e)
          {
              button2.Enabled = false;
              button3.Enabled = false;
              button4.Enabled = false;
          }
   private void button2_Click(object sender, EventArgs e)
          {
              if (reader != null)
              {
                  if (reader.State == SynthesizerState.Speaking)
                  {
                      reader.Pause();
                      button3.Enabled = true;
                  }
  private void button3_Click(object sender, EventArgs e)
          {
              if (reader != null)
              {
                  if (reader.State == SynthesizerState.Paused)
                  {
                      reader.Resume();
                  }
                  button3.Enabled = false;
              }
              }
  
  
          private void button4_Click(object sender, EventArgs e)
          {
              if (reader != null)
              {
                  reader.Dispose();
                  button2.Enabled = false;
                  button3.Enabled = false;
                  button4.Enabled = false;
              }
  </code></pre>
  
  <p>I would like to populate a combo box with a list of currently installed voices, which, when the user clicks one, reads the text from richTextBoxPrintCtrl1 in the selected voice. Currently, the synthesizer works, but I would like to add this feature to my Text to Speech feature.</p>
  
  <p>Thanks.</p>