Dela via


Användarindata i ett Windows Forms-program

I Windows Forms skickas användarindata till program i form av Windows-meddelanden. En serie tvingande metoder bearbetar dessa meddelanden på program-, formulär- och kontrollnivå. När dessa metoder tar emot mus- och tangentbordsmeddelanden genererar de händelser som kan hanteras för att få information om mus- eller tangentbordsindata. I många fall kan Windows Forms-program bearbeta alla användarindata genom att hantera dessa händelser. I andra fall kan ett program behöva åsidosätta någon av de metoder som bearbetar meddelanden för att fånga upp ett visst meddelande innan det tas emot av programmet, formuläret eller kontrollen.

Mus- och tangentbordshändelser

Alla Windows Forms-kontroller ärver en uppsättning händelser som rör mus- och tangentbordsindata. En kontroll kan till exempel hantera händelsen KeyPress för att fastställa teckenkoden för en tangent som trycktes på, eller så kan en kontroll hantera händelsen MouseClick för att fastställa platsen för ett musklick. Mer information om mus- och tangentbordshändelser finns i Använda tangentbordshändelser och mushändelser i Windows Forms.

Metoder som bearbetar användarindatameddelanden

Formulär och kontroller har åtkomst till IMessageFilter-gränssnittet och en uppsättning åsidosättbara metoder som bearbetar Windows-meddelanden på olika platser i meddelandekön. Dessa metoder har alla en Message parameter, som kapslar in den lågnivåinformationen för Windows-meddelanden. Du kan implementera eller åsidosätta dessa metoder för att undersöka meddelandet och sedan antingen använda meddelandet eller skicka det vidare till nästa konsument i meddelandekön. I följande tabell visas de metoder som bearbetar alla Windows-meddelanden i Windows Forms.

Metod Anteckningar
PreFilterMessage Den här metoden fångar upp köade (även kallade postade) Windows-meddelanden på programnivå.
PreProcessMessage Den här metoden fångar upp Windows-meddelanden på formulär- och kontrollnivå innan de har bearbetats.
WndProc Den här metoden bearbetar Windows-meddelanden på formulär- och kontrollnivå.
DefWndProc Den här metoden utför standardbearbetningen av Windows-meddelanden på formulär- och kontrollnivå. Detta ger minimala funktioner i ett fönster.
OnNotifyMessage Den här metoden fångar upp meddelanden på formulär- och kontrollnivå efter att de har bearbetats. Den EnableNotifyMessage formatbiten måste anges för att den här metoden ska anropas.

Tangentbords- och musmeddelanden bearbetas också av ytterligare en uppsättning åsidosättbara metoder som är specifika för dessa typer av meddelanden. Mer information finns i Hur tangentbordsinmatning fungerar och Hur musinmatning fungerar i Windows Forms.

Se även