Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

C# ScrollAbleControl, MouseWheel-Events

Empfohlene Antworten

Veröffentlicht

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.

  • Autor

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 :rolleyes: ... ein fader Beigeschmack bleibt... vielleicht wird sich da ja auch was ändern im .NET Framework 2.0 ;)

gruß

mep

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.