Control ansprechen dessen Name über ein Control zusammengestellt wird?

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von editor.

    Control ansprechen dessen Name über ein Control zusammengestellt wird?

    Hallo VB-Paradise, :)

    ich bin gerade dabei einen Editor zu erstellen.

    Habe gerade die x, y koordinaten der Objekte fertig und möchte mit der höhe (z) anfangen, da stellt sich mir ein Problem in den weg.

    Bei x, y habe ich für jedes Object ein Control erstellt. Da hab ich mir gedacht mit z wird das ganz einfach, ich erstelle einfach auch immer ein Control wenn ein control für x, y westellt wird. Klappt auch alles, doch wenn ich bei dem x, y feld das controll bewege soll es bei dem z feld auch bewegt werden. Bei dem feld für die höhe wird nämlich auch die Richtung x angegeben.

    Jetzt erstellt mir das Programm 2 Controls und ich weiss wie ich das erste bewege aber ich weiss nicht wie ich von dem ersten aus das 2. bewegen kann, da die Controlls keine Fixen Namen haben.

    Wenn man das 2. Control ansprechen kann indem man den Controlnamen des 2. aus dem 1. Definiert wäre es einfach, aber geht das ?

    Ich hoffe ihr könnt mir folgen ... :)

    mfg editor
    Ja das geht.
    Auch wenn ich keine Ahnung habe was du genau willst/vor hast.
    Du kannst Controls über Namen ansprechen -> Container(zb me.).Controls("Name des Controls")

    Gruß mono
    Das ist meine Signatur und sie wird wunderbar sein!
    Entschuldigung cO

    Ein Karten Editor für ein Spiel in dem es Objekte gibt.


    Prinzip:
    Jeweils eine kleine Picturebox wird auf 2 großen Pictureboxen erstellt.
    Die 1. große Picturebox definiert die Koordinaten x, y auf der Karte.
    Die 2. große Picturebox definiert die Koordinaten x, z auf der Karte.

    Das bedeutet, wenn man auf der 1. großen Picturebox ein Object (kleine Picturebox) bewegt soll die x achse der kleinen Picturebox aud der 2. großen Picturebox bewegt werden.

    Die Problematik darin besteht, dass ich den Namen des zur Laufzeit erstellten Controlls (kleine Picturebox auf 2. großer Picturebox) nicht kenne.
    Wie kann ich also die x Achse des Controls (kleine Picturebox auf 2. großer Picturebox) bewegen ?

    Ich habe mir überlegt, dass ich den Namen der kleinen Picturebox auf der 1. großen Picturebox etwas abändere (weil die 2 kleinen Pictureboxen nur eine kleine differenz zwischen den Namen haben).

    Die Frage war nun, ob ich ein zur Laufzeit erstelltes Control dessen Namen aus einer Variable genommen wird benutzen kann.

    Ich hoffe ihr konntet mir jetzt helfen.

    mfg editor

    [Edit]


    Soo habe es mal mit Monos hilfreichem Beitrag versucht ...

    Aber ich glaube ich habe es falsch gemacht ...

    Es gab ein Fehler bei folgendem Code:

    VB.NET-Quellcode

    1. Dim cont As Control = Me.Controls("a" & C.Name)
    2. cont.Left = coory



    Fehler:
    Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
    Ich weiss ehrlich gesagt nicht was daran falsch sein sollte ... :C

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „editor“ ()

    Hallo!

    Hattest du nicht geschrieben, deine pb liegt auf einer großen pb?

    Dann befindet sich die pb auch in der Controls-Auflistung der großen pb.
    Oder mit anderen Worten:

    dim c = pbGross.controls.item("Name")
    c.left = 100
    Hm... Da bekomme ich die selbe Fehlermeldung wie bei

    VB.NET-Quellcode

    1. Dim cont As Control = Me.Controls("a" & C.Name)
    2. cont.Left = coory


    ich habe das gefühl, dass ich den Namen falsch zusammensetze, aber das kann nicht sein :/