mehrdimArray bestimmten Wert

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

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Bartosz.

    mehrdimArray bestimmten Wert

    Moin moin

    Habe gerade einen hänger mit einem mehrdim Array.
    Ich brauche in NewPosition nur den 2ten Wert. Also "412 oder 222 oder 36"

    Ich möchte eine PictureBox verschieben von z.B. 412 nach 36

    VB.NET-Quellcode

    1. Friend Sub Standort(var As Integer)
    2. Dim Position = {New Point(134, 412), New Point(134, 222), New Point(134, 36)}
    3. AktlPosition = Position(var)
    4. Dim NewPosition As Integer
    5. NewPosition = Position(???????????)
    6. End Sub
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:

    Amelie schrieb:

    Ich möchte eine PictureBox verschieben von z.B. 412 nach 36
    Dann schreib eine geeignete Methode dafür.
    Dein Problem: man kann eine Picturebox nicht verschieben von 412 nach 36
    deim (ansonsten unsinnigen) Codesnippet entnehme ich, du willst die Picturebox vertikal verschieben von 412 nach 36.
    Dassis kein Problem - Control hat ja eine Top-Property, der du den neuen Wert zuweisen kannst.

    Wie gesagt: Schreib eine geeignete Methode dafür.
    Ein Point hat einen X und einen Y-Wert. AktlPosition ist vom Typ Point. Damit hat AktlPosition auch einen X- und Y-Wert.
    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.
    Moin moin
    Ich erstelle mir eine Picturebox und setze diese später im Code auf eine bestimmte stelle.
    Dann wieder später möchte ich diese Pictruebox halt nur um den "Top-Wert" mit einer Do While verschieben.


    VB.NET-Quellcode

    1. Friend PBK As New PictureBox
    2. Friend Sub erstellePBK()
    3. With PBK
    4. .Name = "Picture"
    5. .Width = 70
    6. .Height = 110
    7. .BackColor = Color.Aqua
    8. .Image = My.Resources.image01
    9. .SizeMode = PictureBoxSizeMode.StretchImage
    10. .Visible = True
    11. .Top = PBK.Location.Y + 1
    12. .Left = PBK.Location.X + 1
    13. End With
    14. Frm_Main.PN_Container.Controls.Add(PBK)
    15. End Sub
    16. Friend Sub Standort(var As Integer)Dim Position = {New Point(134, 412), New Point(134, 222), New Point(134, 36)}AktlPosition = Position(var)End Sub
    Friend Sub Standort(var As Integer) Dim Position = {New Point(134, 412), New Point(134, 222), New Point(134, 36)} AktlPosition = Position(var)vb-paradise.de/index.php/Threa…1167940#codeLine_4_0806e2 Dim NewPosition As Integer NewPosition = Position(???????????) End Sub[/list]
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:
    Bitte was genau willst Du machen? Du erstellst ne PicBox. Du platzierst die. Später willst Du die Box irgendwo hinverschieben.
    Dazu setzt Du die Top-Eingeschaft auf einen neuen Wert. Welchen Beweggrund oder welche Intention hast Du mit der Do-Schleife?
    Was hast Du eigentlich damit gemeint: .Top = PBK.Location.Y + 1. Top ist doch effektiv "von Haus aus" PBK.Location.Y. Also fast schon ein Synonym.
    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.
    OK Das ​.Left = PBK.Location.X + 1war etwas falsch. Reicht auch .Left = + 1

    Ich habe das nun erstmal anders gelöst weil sich der Wert "Left" ja nicht ändert.
    Trotzdem würde ich gerne wissen, wie ich bei einem solchen Konstrukt an den gesuchten Wert komme. Die Suchmaschine hilft mir leider wieder nicht.


    VB.NET-Quellcode

    1. Friend Sub bewegePB(var As Integer)
    2. Standort(var)
    3. Do While PBK.Top >= AktlPosition
    4. PBK.Top = PBK.Location.Y - 1
    5. Threading.Thread.Sleep(50)
    6. Loop
    7. End Sub
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:
    Nochemol: Was genau ist Dein Plan? Animation? Oder Festsetzung auf einen Endwert?
    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.
    Im Prinzip beides.
    Erst das erstellen & setzen der Picturerbox auf einen bestimmten Wert. (Klappt ja)
    Später im Prog eine Animation, also das sichtbare verschieben dieser Picturebox. (Klappt nun auch)

    Das jetzige funktionieren basiert aber darauf das ich so geändert habe:

    VB.NET-Quellcode

    1. Friend Sub erstellePB()
    2. With PBK
    3. .Name = "Picture"
    4. .Width = 70
    5. .Height = 110
    6. .BackColor = Color.Aqua
    7. .Image = My.Resources.image01
    8. .SizeMode = PictureBoxSizeMode.StretchImage
    9. .Visible = True
    10. .Top = 1
    11. .Left = 135
    12. End With
    13. Frm_Main.PN_Container.Controls.Add(PBK)
    14. End Sub
    15. Friend AktlPosition As Integer
    16. Friend Sub Standort(var As Integer)
    17. Dim Position = {412, 222, 36}
    18. AktlPosition = Position(var)
    19. End Sub
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh: