Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
StateChangedEventArgs Class

StateChangedEventArgs Class

Returns data from the StateChanged event.


Namespace:  System.Speech.Synthesis
Assembly:  System.Speech (in System.Speech.dll)

public class StateChangedEventArgs : EventArgs

The StateChangedEventArgs type exposes the following members.

Public propertyPreviousStateGets the state of the SpeechSynthesizer before the StateChanged event.
Public propertyStateGets the state of the SpeechSynthesizer before the StateChanged event.

Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

An instance of StateChangedEventArgs is created when the SpeechSynthesizer object raises the StateChanged event. To obtain the values for the new and the previous SynthesizerState, access the State and PreviousState properties in the handler for the event.

The following example demonstrates the information that is available about the StateChanged event.

using System;
using System.Speech.Synthesis;

namespace SampleSynthesis
  class Program

    static void Main(string[] args)

      // Initialize a new instance of the SpeechSynthesizer.
      using (SpeechSynthesizer synth = new SpeechSynthesizer())

        // Configure the audio output. 

        // Subscribe to StateChanged event.
        synth.StateChanged += new EventHandler<StateChangedEventArgs>(synth_StateChanged);

        // Subscribe to the SpeakProgress event.
        synth.SpeakProgress += new EventHandler<SpeakProgressEventArgs>(synth_SpeakProgress);

        // Speak the prompt.
        synth.Speak("What is your favorite color?");

        // Pause the SpeechSynthesizer object.

        // Resume the SpeechSynthesizer object.

      Console.WriteLine("\nPress any key to exit...");

    // Write the state of the SpeechSynthesizer to the console.
    static void synth_StateChanged(object sender, StateChangedEventArgs e)
      Console.WriteLine("State: {0}    Previous State: {1}\n", e.State, e.PreviousState);
    // Write the speak progress of the SpeechSynthesizer to the console.
    static void synth_SpeakProgress(object sender, SpeakProgressEventArgs e)

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft