Behandlung von Windows-Benachrichtigungen in der abgeleiteten C # -Benutzersteuerung

Wie kann ich mit den aufgelisteten Benachrichtigungen zur Strukturansicht umgehen?Hier in einer C # -Klasse, die vom .NET TreeView-Steuerelement abgeleitet ist?

Ich habe versucht, die Klickbenachrichtigung wie folgt zu verarbeiten:

class ExtendedTreeView : TreeView
{
    private const Int32 NM_FIRST = (Int32)(0U - 0U);
    private const Int32 NM_CLICK = unchecked((Int32)((UInt32)NM_FIRST - 2U));

    protected override void WndProc(ref Message m)
    {
        if (m.Msg == NM_CLICK)
        {
            MessageBox.Show("NM_CLICK");
        }
        base.WndProc(ref m);
    }
}

Das Meldungsfeld wird jedoch nie angezeigt. Dies ist das erste Mal, dass ich versuche, mit der Win32-API das Verhalten eines .NET-Steuerelements zu ändern, sodass ich keine Ahnung habe, was schief geht.

Ist dies der richtige Ansatz, um mit diesen Benachrichtigungen umzugehen?

Zu Ihrer Information: Ich weiß, dass das .NET TreeView-Steuerelement ein Klickereignis hat. Dies ist nur ein erster Test. Später möchte ich das aktivierenTVS_EX_MULTISELECT Stil. Da das .NET TreeView-Steuerelement keine auslöstAfterSelect Ereignisse wennTVS_EX_MULTISELECT aktiviert ist, möchte ich das Verhalten derTVN_SELCHANGED undTVN_ITEMCHANGED Benachrichtigungen später.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage