Windows Form dynamisch ein Layout zufügen.



  • Ich möchte Layout als Objekt dynamisch inizialisieren, und dann über Konstruktor dem Form übergeben.Ich möchte nicht für jede Klasse eigenes Form basteln, sondern nur ein Form mit auswächselbarem Layout.

    Panel^ ProzUmsetzer::SETWI::SetLayout(void)
    {
    	TextBox ^tb= gcnew TextBox(); 
    	pn=gcnew Panel();
    	lb= gcnew Label();
    	lb->Size = System::Drawing::Size(0, 13);
    	lb->Name = L"label1";
    	lb->Text = L"Wartungsinterwal setzen";
    	tb->Size = System::Drawing::Size(149, 20);
    	tb->Name = L"textBox1";
    	pn->Controls->Add(lb);
    	pn->Controls->Add(tb);
    	pn=gcnew Panel();
    	return pn;
    	}
    

    Hier wird Layout-Object erstellt und Verweis darauf zurückgelifert.

    sFenster = gcnew SetFenster(SetLayout());
    

    Form Objekt mit entsprechendem Layout wird initialisiert.

    SetFenster(Control ^ct)
    	{
    	  this->control=ct;
    	  InitializeComponent();
    
    	  //TODO: Konstruktorcode hier hinzufügen.
    	  //
    	}
    

    Konstruktor der Form _Klasse

    void InitializeComponent(void)
          {
            this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
            this->AutoScaleMode =     System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size(292, 166);
            this->Controls->Add(this->control);
            this->Name = L"SetFenster";
            this->Text = L"SetFenster";
            this->ResumeLayout(false);
            this->PerformLayout();
        }
    

    Was soll ich machen damit das Layout auch wirklich dargestellt wird?
    Habe ich da was falsch gemacht oder vergessen?
    Danke



  • Oh jetzt sehe ich Fehler, ich initialisiere am ende neuer Panel Objekt



  • Trotzdem läuft das nicht......



  • Trotzdem läuft das nicht......


Log in to reply