BoxItems

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Hallo :)

    wenn ich eine routine für nehmen wir mal an ListBox und ComboBox schreiben möchte, die die Items behandelt, wie muss ich dann besagte ListBox oder ComboBox übergeben ?

    Als Control geht nicht..."Items ist kein Member von Control"
    Als Object geht nicht beim ausführen.

    früher unter VB6 ging das als Object.

    weiss jmd rat ?
    Hm ... kommt drauf an, was Du damit machen willst. Beiden gemein ist, dass sie laut Object Explorer 3 Interface (IList, ICollection, IEnumerable) implementieren. Ggf. reicht es, wenn Du eines jener als Parameter verwendest. Musst Dir das raussuchen, welches die passenden Eigenschaften hat:

    VB.NET-Quellcode

    1. MakeSomeStuffWith(ComboBox1.Items)
    2. MakeSomeStuffWith(ListBox1.Items)
    3. '...
    4. Private Sub MakeSomeStuffWith(ThoseItems As System.Collections.IList)
    5. ThoseItems. '<- und nach dem Punkt eben das, was Du machen willst.
    6. End Sub

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    woeh schrieb:

    wenn ich eine routine für nehmen wir mal an ListBox und ComboBox schreiben möchte, die die Items behandelt, wie muss ich dann besagte ListBox oder ComboBox übergeben ?
    als ListControl
    Das gilt aber genau für ListBox und ComboBox - für "nehmen wir mal an" gilt das nicht.

    woeh schrieb:

    weiss jmd rat ?
    Mein Rat: Verstehe das Konzept Vererbung, und guck dir dann die Klassen ListControl, ListBox und ComboBox im Objectbrowser an.

    dann verstehst du, warums mit ListControl geht, nicht aber mit Control oder gar Object