Mephisto81 Geschrieben 7. September 2005 Teilen Geschrieben 7. September 2005 Hallo, ich muss mich zur Zeit mit C# befassen und komme bei einer Sache nicht weiter. Vielleicht habt ihr ja eine idee: Ich habe mir ein eigenes Control erstellt welches sich von ScrollAbleControl vererbt. Zusätzlich habe ich mir noch ein Control erstellt welches mehrere Male in dem ScrollAbleControl dargestellt werden soll (dies vererbt sich von Panel). Ich möchte dem User die Möglichkeit bieten in dem ScrollAbleControl mittels Mausrad hoch und runter zu scrollen. Dies sollte ja eigentlich schon standardmäßig funktionieren (wegen ScrollAbleControl) aber tat es leider nicht . Zu Testzwecken habe ich mir also einen EventHandler für die MouseWheel-Behandlung in mein ScrollAbleControl gepackt und ein wenig rumgedebugged (super deutsch aber ihr wisst ja was ich meine ). Dieser funktioniert auch einwandfrei, allerdings nur bis ich Items in mein ScrollAbleControl eingefügt habe- dann klappt es nicht mehr. Ich dachte mir also das die MouseWheel-Events womöglich von den Items abgefangen werden (weil die Maus ja auch darauf zeigt in diesem Moment). Allerdings musste ich feststellen das der Event auf einmal nur im Form gefangen wurde und weder mein ScrollAbleControl noch meine Items den MouseWheel-Event mitbekommen. Nun zu meiner/meinen Frage/n: Es kann ja im Prinzip nicht sein das ich jetzt im EventHandler von der Hauptform anhand der Mausposition herausfinden muss ob ich über meinem ScrollAbleControl bin und dann den Event weiterleiten muss?! Gibt es einen Weg den Controls zu sagen das sie den MouseWheel-Event annehmen und an die (bereits standardmäßig vorhandene) Funktionalität des ScrollAbleControls weiterleiten? Hat jemand von euch schonmal dasselbe Problem gehabt und es gelöst? Gruß mep PS: Habe schon probiert die WndProc meines ScrollAbleControls zu überschreiben und die WM_MOUSEWHEEL-Message von Windows abgefangen aber auch da kommt der Event nicht mehr an, wenn Items ins Control eingefügt wurden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mephisto81 Geschrieben 8. September 2005 Autor Teilen Geschrieben 8. September 2005 hallo, habe es schon selber hinbekommen und will meine Lösung der Allgemeinheit natürlich nicht vorenthalten: Ein Panel kann anscheinend unter C# (bzw. .NET Framework 1.0) generell keine MouseWheel-Events empfangen (obwohl es erlaubt ist einen EventHandler dafür zuzuweisen). Kaum hatte ich meine Klasse (die von Panel abgeleitet war) von UserControl abgeleitet klappte alles ... ein fader Beigeschmack bleibt... vielleicht wird sich da ja auch was ändern im .NET Framework 2.0 gruß mep Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.