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;
member this.InputLanguageChanging : System.Windows.Forms.InputLanguageChangingEventHandler 
Public Custom Event InputLanguageChanging As InputLanguageChangingEventHandler 


下面的示例演示如何使用此成员。The following example demonstrates the use of this member. 在此示例中,事件处理程序报告 InputLanguageChanging 事件的发生。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. 若要报告多个事件或频繁发生的事件,请考虑将 MessageBox.Show 替换为 Console.WriteLine 或将消息附加到多行 TextBox中。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.

若要运行示例代码,请将其粘贴到包含名为 Form1Form 类型实例的项目中。To run the example code, paste it into a project that contains an instance of type Form named Form1. 然后,确保事件处理程序与 InputLanguageChanging 事件关联。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. 可以通过将传递到事件处理程序的 InputLanguageChangingEventArgsCancel 属性设置为 false,取消语言更改。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