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:
Führt eine oder beide der folgenden Aktionen aus:
Fügt einen Nachrichtenfilter hinzu, indem die AddMessageFilter Methode aufgerufen wird.
Entfernt einen Nachrichtenfilter durch Aufrufen der RemoveMessageFilter Methode. Methode.
Und Nachrichten durch Aufrufen der Application.DoEvents-Methode abruft.
Auswirkung
Diese Änderung wirkt sich nur auf Windows Forms-Apps aus, die auf Versionen von .NET Framework ab .NET Framework 4.6.1 abzielen.
Bei Windows Forms-Apps, die auf frühere Versionen von .NET Framework abzielen, lösen solche Implementierungen in einigen Fällen eine IndexOutOfRangeException Ausnahme aus, wenn die Application.FilterMessage Methode aufgerufen wird.
Abschwächung
Wenn diese Änderung nicht erwünscht ist, können Apps, die auf .NET Framework 4.6.1 oder eine höhere Version abzielen, dies deaktivieren, indem sie die folgende Konfigurationseinstellung zum <Laufzeitabschnitt> der Konfigurationsdatei der App hinzufügen:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Forms.DontSupportReentrantFilterMessage=true" />
</runtime>
Darüber hinaus können Apps, die auf frühere Versionen von .NET Framework abzielen, aber unter .NET Framework 4.6.1 oder höher ausgeführt werden, sich für dieses Verhalten entscheiden, indem sie die folgende Konfigurationseinstellung zum <Laufzeitabschnitt> der Konfigurationsdatei der App hinzufügen:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Forms.DontSupportReentrantFilterMessage=false" />
</runtime>