Application.RemoveMessageFilter(IMessageFilter) Metod

Definition

Tar bort ett meddelandefilter från programmets meddelandepump.

public:
 static void RemoveMessageFilter(System::Windows::Forms::IMessageFilter ^ value);
public static void RemoveMessageFilter(System.Windows.Forms.IMessageFilter value);
static member RemoveMessageFilter : System.Windows.Forms.IMessageFilter -> unit
Public Shared Sub RemoveMessageFilter (value As IMessageFilter)

Parametrar

value
IMessageFilter

Implementeringen av IMessageFilter att ta bort från programmet.

Exempel

Innan du kan använda ett meddelandefilter måste du ange en implementering för IMessageFilter gränssnittet. Följande klass skapar ett meddelandefilter med namnet TestMessageFilter. Det här filtret blockerar alla meddelanden som rör den vänstra musknappen.

// Creates a  message filter.
ref class TestMessageFilter: public IMessageFilter
{
public:
   [SecurityPermission(SecurityAction::LinkDemand, Flags = SecurityPermissionFlag::UnmanagedCode)]
   virtual bool PreFilterMessage( Message % m )
   {
      
      // Blocks all the messages relating to the left mouse button.
      if ( m.Msg >= 513 && m.Msg <= 515 )
      {
         Console::WriteLine( "Processing the messages : {0}", m.Msg );
         return true;
      }

      return false;
   }

};
// Creates a  message filter.
public class TestMessageFilter : IMessageFilter
{
    public bool PreFilterMessage(ref Message m)
    {
        // Blocks all the messages relating to the left mouse button.
        if (m.Msg >= 513 && m.Msg <= 515)
        {
            Console.WriteLine("Processing the messages : " + m.Msg);
            return true;
        }
        return false;
    }
}
' Creates a message filter.
<SecurityPermission(SecurityAction.LinkDemand, Flags := SecurityPermissionFlag.UnmanagedCode)> _
Public Class TestMessageFilter
    Implements IMessageFilter

    <SecurityPermission(SecurityAction.Demand)> _
    Public Function PreFilterMessage(ByRef m As System.Windows.Forms.Message) _
    As Boolean Implements IMessageFilter.PreFilterMessage
        ' Blocks all the messages relating to the left mouse button.
        If ((m.Msg >= 513) And (m.Msg <= 515)) Then
            Console.WriteLine("Processing the messages : " & m.Msg)
            Return True
        End If
        Return False
    End Function
End Class

Kommentarer

Du kan ta bort ett meddelandefilter när du inte längre vill samla in Windows meddelanden innan de skickas.

Gäller för

Se även