Zugriff auf Labelarray??



  • Hallo ich habe da ein Problem, bei dem ich nicht weiterkomme! Wäre sehr Dankbar über Hilfe!!

    Also ich erzeuge mit einem Array per click immer wieder ein neues Label.
    Dies funktioniert auch ohne Probleme. Es wird jedem Label das gleiche Ereigniss zugewiesen. Jetzt will ich aber wenn ein Ereignis ausgelöst wird, das Ereigniss nur für welches es ausgelöst wurde ausführen. Ich kann aber auf mein Label irgenwie ned zugreifen!!

    private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) 
    			 {
    			 array <Label ^> ^labelArray = gcnew array <Label ^>(100);
    			 try
    				 {
    				 if (a < 100)
    					 labelArray[a] = gcnew Label(); 
    					 labelArray[a]->AutoSize = false;
    					 labelArray[a]->BackColor = System::Drawing::Color::Red;
    					 labelArray[a]->Cursor = System::Windows::Forms::Cursors::Hand;
    					 labelArray[a]->Location = System::Drawing::Point(860, 172+a*35);
    					 labelArray[a]->Size = System::Drawing::Size(70, 30);
    					 labelArray[a]->Text = textBox3->Text;
    					 labelArray[a]->Name = L"Fahrzeug_Label" + Convert::ToString(a);
    					 labelArray[a]->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
    					 labelArray[a]->MouseLeave += gcnew System::EventHandler(this, &HauptForm::label_MouseLeave);
    					 labelArray[a]->MouseMove += gcnew System::Windows::Forms::MouseEventHandler(this, &HauptForm::label_MouseMove);
    					 labelArray[a]->MouseDown += gcnew System::Windows::Forms::MouseEventHandler(this, &HauptForm::label_MouseDown);
    					 labelArray[a]->MouseUp += gcnew System::Windows::Forms::MouseEventHandler(this, &HauptForm::label_MouseUp);
    					 labelArray[a]->MouseEnter += gcnew System::EventHandler(this, &HauptForm::label_MouseEnter);
    					 Controls->Add(labelArray[a]);
    					 labelArray[a]->Text = labelArray[a]->Name;
    					 a++;
    				 }
    			catch(...)
    				{
    				}
    			}
    
    //Ereignisse für Drag´n´Drop
    private: System::Void label_MouseEnter(System::Object^  sender, System::EventArgs^  e) 
    			 {
    			 Fahrzeug_Label1->Text="Test";//Hier müsst ich auf das Label zugreifen aber sodass es für jedes Label funktioniert!?!
    			 imSteuerelement = 1;
    			 }
    


  • //Ereignisse für Drag´n´Drop 
    private: System::Void label_MouseEnter(System::Object^  sender, System::EventArgs^  e) 
                 {
                     Label^ label = safe_cast<Label^>(sender);
                     label->Text="Test";
                 }
    


  • Vielen Dank funktioniert ohne Probleme 😃
    Super Forum und schnelle Antwort



  • Jetzt ist ein weiteres Prob aufgetaucht... 😡

    wenn ich ein label, welches ich zuvor erstellt habe in die picturebox ziehen liegt dieses darüber und ist sichtbar.
    Wenn ich die Labels des Arrays ziehe verschwinden diese hinter der Pictruebox.
    Dies kann doch nur eine Eigenschaft sein welche noch nicht richtig initalisiert wurde oder?



  • BringToFront() auf Labels aufrufen oder BringToBack() auf PictureBox aufrufen.
    Simon



  • 👍
    Danke dir funktioniert!!



  • wie kann ich von einer picturebox einen screenshot mit den davor befindlichen Labels ertsellen.
    Mit drawtoBitmap wird nur der inhalt der Picturebox erstellt...ich will aber die labels auf der Picturebox "mitspeichern".
    gruß


Anmelden zum Antworten