Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In Windows Forms-Apps für .NET Framework-Versionen ab .NET Framework 4.6.1 kann eine benutzerdefinierte IMessageFilter.PreFilterMessage-Implementierung Meldungen beim Aufrufen der Methode Application.FilterMessage sicher filtern, wenn die IMessageFilter.PreFilterMessage-Implementierung:
Mindestens eine der folgenden Aktionen ausführt:
Hinzufügen eines Meldungsfilters durch Aufrufen der AddMessageFilter-Methode.
Entfernen eines Meldungsfilters durch Aufrufen der RemoveMessageFilter-Methode. -Methode.
Und Nachrichten durch Aufrufen der Application.DoEvents-Methode abruft.
Auswirkungen
Diese Änderung betrifft nur Windows Forms-Apps, die auf Versionen von .NET Framework ab .NET Framework 4.6.1 ausgerichtet sind.
Für Windows Forms-Apps, die auf vorherige Versionen von .NET Framework ausgerichtet sind, lösen solche Implementierungen in einigen Fällen beim Aufrufen der Application.FilterMessage-Methode eine IndexOutOfRangeException-Ausnahme aus.
Minderung
Ist diese Änderung nicht erwünscht, kann sie für Apps, die für .NET Framework 4.6.1 oder höhere Versionen vorgesehen sind, deaktiviert werden. Dazu muss dem Abschnitt <runtime> der App-Konfigurationsdatei die folgende Konfigurationseinstellung hinzugefügt werden:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Forms.DontSupportReentrantFilterMessage=true" />
</runtime>
Für Apps, die für frühere Versionen von .NET Framework vorgesehen sind, aber unter .NET Framework 4.6.1 oder einer höheren Version ausgeführt werden, kann dieses Verhalten aktiviert werden, indem dem Abschnitt <runtime> der App-Konfigurationsdatei die folgende Konfigurationseinstellung hinzugefügt wird:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Forms.DontSupportReentrantFilterMessage=false" />
</runtime>