WinForms Schulprojekt Shop Programm
-
Ich denk das kann man nur beantworten, wenn du uns erstmal sagst, was genau diese "weitaus bessere Möglichkeit" ist, an der du dich versuchen willst...
Aber ich vermute mal, du hast nun ein Create_Shop_Control Steuerelement gemacht!? Das wäre dann genau das, was ich vorgeschlagen hätte. In dem Fall musst du das Steuerelement nur noch instanzieren und auf deiner Form platzieren...
-
Oh, ja, richtig. Wir verstehen uns offensichtlich.
Ich vermute mit instanzieren meinst du folgendes:
private: System::Void ShopNeu_Click(System::Object^ sender, System::EventArgs^ e) { Create_Shop_Control^ ShopControl = gcnew Create_Shop_Control(); ShopControl->Show(); }
Nur bin ich entweder blind, oder es steht da tatsächlich nicht, aber wie platziere ich es an meine gewünschte Stelle?
-
Um es zu platzieren musst du es zur Controls Collection der entsprechenden Form hinzufügen...
-
Gut, bin jetzt also soweit, dass es kommt, wenn ich auf den Button drücke.
private: System::Void ShopNeu_Click(System::Object^ sender, System::EventArgs^ e) { Create_Shop_Control^ ShopControl = gcnew Create_Shop_Control(); ShopControl->Location = Point(200, 70); Controls->Add(ShopControl); }
Wie kann ich es jetzt allerdings via Button Klick, welcher sich in dem Control befindet, verschwinden lassen?
-
Ich würde spontan mal zwei Möglichkeiten vorschlagen: Entweder du packst den Button in das Control und gibst dem Control ein eigenes Finish Event, das eben ausgelöst wird, sobald der Benutzer der Dialog bestätigt, oder du machst den Button außerhalb des Dialoges...
-
Das Erste hab ich nicht so ganz verstanden, wie meinst du das?
-
Was meinst du mit Finish Event?
-
Gibt deinem Control ein Event, welches ausgelöst wird, wenn im Control der entsprechende Button gedrückt wird. An dieses Event kann deine Hauptform sich dann anhängen. Dem Eventhandler kannst du dann auch gleich die im Dialog gemachten Einstellungen übergeben...
-
Habe in der Klasse des UserControls bisher folgendes:
public event EventHandler ^ OnClickAbbrechen;
private: System::Void erstellenAbbrechen_Click(System::Object^ sender, System::EventArgs^ e) { OnClickAbbrechen(this, nullptr); }
Allerdings kann ich ja nicht, wie die Person es da schreibt, in meinem main Fenster auf das Control klicken und das Event in der Liste auswählen, da es ja noch nicht von Anfang an existiert. Wie mache ich das in meinem Fall?
Wie "hänge" ich also meine Hauptform dran?
-
Habs jetzt mit einem Zeiger auf uStore_main und der Controls->Remove(this); Methode gelöst.
Daher: Closed.