Application.AddMessageFilter(IMessageFilter) Yöntem

Tanım

hedeflerine yönlendirilen Windows iletileri izlemek için bir ileti filtresi ekler.

C#
public static void AddMessageFilter (System.Windows.Forms.IMessageFilter value);

Parametreler

value
IMessageFilter

Yüklemek istediğiniz arabirimin IMessageFilter uygulaması.

Örnekler

Aşağıdaki kod örneği adlı TestMessageFilterbir ileti filtresi oluşturur. Bu filtre, sol fare düğmesiyle ilgili tüm iletileri engeller. İleti filtresi kullanabilmeniz için önce arabirimi için IMessageFilter bir uygulama sağlamanız gerekir.

C#
// 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;
    }
}

Açıklamalar

Belirli olayların tetiklenmesini önlemek veya bir olay işleyicisine geçirilmeden önce bir olay için özel işlemler gerçekleştirmek için ileti filtresi kullanın. İleti filtreleri belirli bir iş parçacığı için benzersizdir.

Bir iletinin gönderilmesini önlemek için, value bu yönteme geçirdiğiniz parametre örneği, iletiyi işlemek için kodla yöntemini geçersiz kılmalıdır PreFilterMessage . yöntemi döndürmelidir false.

Dikkat

Bir uygulama için ileti pompasına ileti filtreleri eklemek performansı düşürebilir.

Şunlara uygulanır

Ürün Sürümler
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7