none
Elemente Makieren und eine Anweisung für alle ausführen RRS feed

  • Frage

  • Hallo,

    Ich habe eine Liste(List(Of Panel)) in der mehrere Panels gespeichert sind die schon auf einem Form erstellt worden sind. Wie kann ich bestimmte Elemente davon auswählen und gleichzeitig eine Eigenschaft(Location) bei allen ausgewählten Elementen um 20 erhöhen?

    Danke schonmal im Vorraus!


    Sonntag, 27. März 2011 12:46

Alle Antworten

  • Hi,

    wie du das mit dem markieren meinst, ist mir etwas rätselhaft. Sind die Panels in einer gewissen "Ordnung" markiert (z.B. 1,2,3,4,5 usw)Könntest du eine Schleife durchlaufen lassen.
    Wenn du diese aber ohne irgendeine Ordnung auswählen möchtest, solltest du dir ein Array zulegen. Darin speicherst du die Indexe für die Panels die du haben willst und arbeitest die mit ner For Each Schleife ab:

    Dim PanelList As New List(Of Panel)
    
    'Hier packste die Panels in die Liste
    
    Dim PanelSelectIndices() As Byte
    
    'Hier schreibst du den Code, welche Panels reinkommen
    
    For Each element in PanelSelectIndices
    
      element.Location += 20
    
    Next
    

    Damit müsste es gehen.

    Gruß VauBe

     

    Dienstag, 29. März 2011 18:01
  • Hallo VauBe,

    Ich hatte gehofft alle Panels gleichzeitig zu bearbeiten. Mit der von dir vorgeschlagenen methode habe ich es auch schon probiert. Das problem ist dann, das man sieht das nacheinander alle Elemente verändert werden. Es wäre also gut wenn man mit allen gleichzeitig das gleiche machen könte.

    Trotzdem vielen Dank!


    Mittwoch, 30. März 2011 18:12
  • Hallo Zensiert1997,

    nun bitte ich mal um Aufklärung was du  dir da genau vorstellst.
    Grundsätzlich aber schau dir mal einen Quellcode an. Da wird auch Zeile für Zeile(nacheinander) abgearbeitet.
    Am besten oder einfachsten wirst du das feststellen, wenn dein Code auf eine noch nicht deklarierte Varaibale verweist.

    Der selbe Code ein paar Zeilen weiter unter funktioniert dann.
    Wenn du Vorgänge behandelst, die ggf. sehr rechenintensiv sind und am Ende mehr oder weniger schlagartig dargestellt werden solltest du diese Operation mit einem Backgroundworker versuchen.

    Ob das deine Methode ist, hängt aber mehr von der Aufgabenstellung ab.


    Liebe Grüße Stefan | Cheers Stefan I'm using VB 2008 Express Be a good forum member - mark posts that contain the answers to your questions or those that are helpful c# in vb Translator: http://www.developerfusion.com/tools/convert/csharp-to-vb/
    Freitag, 1. April 2011 06:29