tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
6403
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    kAmBeR kAmBeR ist offline Mitglied Bronze
    Registriert seit
    Oct 2003
    Ort
    Aachen
    Beiträge
    44
    Hallo,

    mein Problem ist, dass zur Laufzeit erstellte Controls nicht ansprech bar sind.
    Ich habe zwar bei Google etc. gesucht, aber nichts konkretes gefunden.

    Fehlermeldung: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

    Die Controls, in diesem Fall PictureBox, werden erstellt, aber ich kann sie nicht direkt ansprechen.

    Der Name ist z.B. picBox1.
    Ein Button-Click soll den Inhalt der erstellten picBox1 löschen, aber während der Entwurfszeit kommt schon fehler, also habe ich diese Zeile hinzugefügt:

    private System.Windows.Forms.PictureBox picBox1; // einfach als Test, ob es klappt

    // Diese Zeile ist natürlich nicht elegant, da ich nicht nur eine, sondern beliebig viele
    // Controls erstellten will

    Zu Laufzeit aber kann ich immer noch nichts ansprechen.

    Wie könnte ich dieses Problem lösen?

    Danke im Voraus.
     

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Du machst das falsch. Folgendermaßen erstellst du ein PictureBox-Control zur Laufzeit:
    Code :
    1
    2
    3
    4
    5
    
    System.Windows.Forms.PictureBox picBox1 = new System.Windows.Forms.PictureBox();
    picBox1.Name = "picBox1";
    picBox1.Location = new Point(0,0);
    picBox1.Size = new Size(10, 50);
    this.Controls.add(picBox1);
    Mit "this" ist in diesem Fall eine Form gemeint. Willst du die PictureBox in ein Panel auf deiner Form platzieren, musst du die Zuweisung an die Controls des Panels machen:
    Code :
    1
    
    this.panelname.Controls.Add(picBox1);
    Wie du das Control dann ansprechen kannst, siehst du in dem Beispiel von mir unter http://www.tutorials.de/forum/showpo...11&postcount=4
    Geändert von Norbert Eder (13.07.05 um 08:53 Uhr)
     

  3. #3
    Avatar von broetchen
    broetchen broetchen ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Ort
    Österreich/Wien
    Beiträge
    181
    Guten Morgen!

    Controls dynamisch erstellen ist gar nicht so schwer. Du musst nur ein Control erstellen und es dann der Controls-Auflistung des Containers (Form, GroupBox, ...) hinzufügen und schon kannst du es sehen.

    Um es dann auch ansprechen zu können, musst du die Controls-Auflistung durchgehen und z.B. anhand des Namens das richtige auswählen.

    mfg broetchen

    da war wohl einer schneller
     

  4. #4
    Avatar von the incredible Leitman
    the incredible Leitman the incredible Leitman ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    ÖSTERREICH
    Beiträge
    406
    Hallo Ihr!
    Ich habe so ein ähnliches Problem:

    Möchte auch während der Laufzeit noch mehrere Controls hinzufügen, jedoch ist die Anzahl vor dem Programmstart nicht bekannt!

    Hab mir etwas in der Form vorgestellt:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
     {
         // erstelle z.B: button2
         System::Windows::Forms::Button^ button[i] = gcnew System::Windows::Forms::Button();
         this->Controls->Add(button[i]);
     
         // nächster Button wird z.B. button3
         i++;
    }

    Klar, der Code funktioniert nicht, aber vom Prinzip her möcht ich genau so etwas,
    ist das irgendwie möglich?

    mfG
     
    Meine Blogs:
    theIncredibleLeitman.blogspot.com // Tec
    Gamesdev.de // Gamedevelop

    Ein echter Programmierer hat nur natürliche 3 Feinde:
    • Sonnenlicht
    • Frischluft
    • und das unerträgliche Gebrüll der Vögel
    Ownage
    steht für die Fähigkeit einer Person, andere zu ownen, zum Beispiel „Ich habe die totale ownage.“ Gleichzeitig kann es aber auch die positive Qualität einer Sache beschreiben: „Counterstrike owns!“
    (siehe:http://de.wikipedia.org/wiki/Computerspieler-Jargon)

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 18.06.09, 20:12
  2. [VB.Net] Dynamisch erstellte Controls und der Zugriff darauf
    Von Xervek im Forum .NET Windows Forms
    Antworten: 12
    Letzter Beitrag: 07.10.07, 09:25
  3. [VB2005] zur runtime erstellte controls ansprechen?
    Von BrainDamage im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 18.02.06, 14:12
  4. Dynamisch erstellte Controls ansprechen
    Von nordkap im Forum .NET Windows Forms
    Antworten: 5
    Letzter Beitrag: 28.09.05, 20:57
  5. Dynamisch erstellte Server-Controls
    Von Calisto im Forum ASP
    Antworten: 1
    Letzter Beitrag: 09.03.02, 00:30