Dynamische Buttons und FileDialog



  • guten Abend, ich sitze nun schon einige Zeit an folgendem Problem:
    ich erstelle eine eine Anzahl an Textboxen, genauso viele Buttons und die Buttons öffnen einen fileDialog, allerdings soll dann der Pfad der ausgewählten Datei in der zugehörigen Textbox erscheinen.

    for(int i = 0;i <=10;i++){
          TextBox^ data = textboxbauer(this, "data" + s, 464, 62 + i * 26, 160, 20);
          Button^ button = buttonbauer(this, "filer" + s, 642, 61+ i *26);
       }
    
    TextBox^ textboxbauer(Form^ f,String^ s, int x, int y, int w, int h){
       TextBox^ t = gcnew TextBox();
       t->Location = System::Drawing::Point(x, y);
       t->Size = System::Drawing::Size(w, h);
       t->Name =L"txt"+s;
       t->Multiline=true;
       t->Text += t->Name;
       f->Controls->Add(t);
       return t;
    }
    
    Button^ buttonbauer(Form^ f, String^ a, int x, int y){
    	Button^ b = gcnew Button();
    	b->Location = System::Drawing::Point(x, y);
    	b->Size = System::Drawing::Size(23,23);
    	b->Name = L"btn" + a;
       b->Click += gcnew System::EventHandler(this, &MyForm::ButtonOnClick);
    	f->Controls->Add(b);
    	return b;
    }
    
    private: System::Void ButtonOnClick(System::Object^ sender, System::EventArgs^  e) {
    das verrät viel: //   textBox1->AppendText(e->ToString);
    das geht auch nicht: // textBox1->Text = this->Controls->find("btn"); 
       textBox1->AppendText(sender->ToString());
       OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog();
       openFileDialog1->Filter = "Textdatei|*.txt";
       openFileDialog1->Title = "Textdatei auswählen";
       if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
       {
          datei = openFileDialog1->FileName;
    
       }
       else {
          //dynamisch erzeugte TextBox->Text += "ungültige datei";
       }
    }
    

    schonmal im vorraus ein Danke, hoffe das mir jemand helfen kann
    gute nacht



  • vielleicht hilft es ja auch jemanden weiter

    private: System::Void ButtonOnClick(System::Object^ sender, System::EventArgs^  e) {
    #pragma region Button auslesen 
       ButtonBase^ benutzterButton1 = (ButtonBase^)sender;
       Component^ benutzterButton2 = (Component^)benutzterButton1;
       Control^ controlButton = (Control^)benutzterButton2;
    #pragma endregion
    #pragma region Button Textfeld zuordnen
       String^ tempname = controlButton->Name;
       String^ textfeldname = tempname->Replace("btnfiler","txtdata");
    #pragma endregion
    #pragma region Filedialog öffnen
       OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog();
       openFileDialog1->Filter = "Textdatei|*.txt";
       openFileDialog1->Title = "Textdatei auswählen";
       if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
    #pragma endregion 
      {
          datei = openFileDialog1->FileName;
          this->Controls[textfeldname]->Text += datei;
       }
       else {
          this->Controls[textfeldname]->Text += "ungültige datei";
       }
    }
    

Log in to reply