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......