Form.InputLanguageChanging Event


Occurs when the user attempts to change the input language for the form.

 event System::Windows::Forms::InputLanguageChangingEventHandler ^ InputLanguageChanging;
public event System.Windows.Forms.InputLanguageChangingEventHandler InputLanguageChanging;
public event System.Windows.Forms.InputLanguageChangingEventHandler? InputLanguageChanging;
member this.InputLanguageChanging : System.Windows.Forms.InputLanguageChangingEventHandler 
Public Custom Event InputLanguageChanging As InputLanguageChangingEventHandler 

Event Type



The following example demonstrates the use of this member. In the example, an event handler reports on the occurrence of the InputLanguageChanging event. This report helps you to learn when the event occurs and can assist you in debugging. To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.

To run the example code, paste it into a project that contains an instance of type Form named Form1. Then ensure that the event handler is associated with the InputLanguageChanging event.

private void Form1_InputLanguageChanging(Object sender, InputLanguageChangingEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "InputLanguage", e.InputLanguage );
messageBoxCS.AppendFormat("{0} = {1}", "Culture", e.Culture );
messageBoxCS.AppendFormat("{0} = {1}", "SysCharSet", e.SysCharSet );
messageBoxCS.AppendFormat("{0} = {1}", "Cancel", e.Cancel );
MessageBox.Show(messageBoxCS.ToString(), "InputLanguageChanging Event" );
Private Sub Form1_InputLanguageChanging(sender as Object, e as InputLanguageChangingEventArgs) _ 
     Handles Form1.InputLanguageChanging

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "InputLanguage", e.InputLanguage)
    messageBoxVB.AppendFormat("{0} = {1}", "Culture", e.Culture)
    messageBoxVB.AppendFormat("{0} = {1}", "SysCharSet", e.SysCharSet)
    messageBoxVB.AppendFormat("{0} = {1}", "Cancel", e.Cancel)
    MessageBox.Show(messageBoxVB.ToString(),"InputLanguageChanging Event")

End Sub


This event occurs before the change of input language is made for the form. You can cancel the language change by setting the Cancel property of the InputLanguageChangingEventArgs passed to your event handler to false. If the event is canceled, the input language is not changed. You can use this event to determine whether the requested input language change is appropriate for your application.

For more information about handling events, see Handling and Raising Events.

Applies to

See also