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.