Vererbung der AllowDrop Eigenschaft

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von MickeyO-Neil.

    Vererbung der AllowDrop Eigenschaft

    Hallo,

    mein Programm soll Drag&Drop unterstützen, hierfür muss natürlich AllowDrop auf True gesetzt werden. Leider komme ich aber mit der Vererbung nicht ganz klar.
    Stelle ich im obersten Container AllowDrop auf True wird diese Einstellung an alle untergeordneten Container vererbt.
    Nun soll aber mein unterster Container die Drag&Drop Events verarbeiten. Muss ich dann alle Container auf AllowDrop = False setzen, nur der unterste True?

    Hier mal meine Dokumentengliederung mit der jeweiligen Einstellung:

    From (AllowDrop = False)
    ToolStripContainer (AllowDrop = False)
    ToolStripContentPanel (AllowDrop = False)
    UserControl (AllowDrop = False)
    ListView (AllowDrop = True)

    Das Event wird also so verarbeitet:

    Quellcode

    1. Private Sub lvContent_DragOver(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lvContent.DragOver


    Ein Drag&Drop Event was durch ein ListViewItem von lvContent ausgelöst wird funktioniert problemlos.
    Ziehe ich aber nun ein Objekt von einem externen Programm (z.B. Windows Explorer) in mein Programm wird das Event
    lvContent_DragOver nicht ausgelöst.

    Was mache ich falsch?

    Vielen Dank für die Hilfe!
    Erstens mal hat das, was du da beschreibst, nicht im Mindesten was mit Vererbung zu tun. Achte darauf die richtigen Begriffe zu Verwenden, das ist in der Programmierung enorm wichtig, damit dich andere Leute verstehen.
    Zu deinem Problem: ich glaube das richtige Event ist DragEnter.
    Wie gesagt, das Event wird bei Drag Events der ListView ausgelöst und funktioniert problemlos. Nur bei DragEvents externer Programme funktioniert es nicht.
    Hierbei ist es egal ob es das Event DragOver DragEnter DragLeave oder DragDrop heißt. Alles funktioniert einmal und einmal nicht.
    Hallo,

    hab das Problem gelöst, es lag nicht am code sondern daran, dass ich visual studio immer als Administrator ausgeführt habe. (Hab das mal bei nem anderen Problem eingestellt und nicht wieder umgestellt :P )

    Hier gibt es genauere Infos zu dem Problem.