Erstellte Controls wieder entfernen



  • Hallo
    ich versuche mich gerade in C# zurechtzufinden.
    Ich erstelle auf ein Event hin ein paar controls in einer Prozedur:

    private void MenuErstellen()
            {
                TextBox TextBoxMenge = new System.Windows.Forms.TextBox();
                TextBoxMenge.Parent      = panel4;
                TextBoxMenge.Location    = new Point(45,45);
                TextBoxMenge.Size        = new Size(20, 30);
                TextBoxMenge.Show();
    
                Label LabelMenge = new Label();
                LabelMenge.Parent = panel4;
                LabelMenge.Location = new Point(37,45);
                LabelMenge.Text = "Menge";
                LabelMenge.Show();
    
            }
    

    Und will sie in einer anderen Funktion wieder löschen
    [code]
    private void MenuEntfernen()
    {

    }
    [code]
    Aber in der Funktion kennt er TextBoxMenge nicht. Muss ich die Elemente nun einfach global deklarieren oder gibt es noch andere Möglichkeiten? Als static oder extern liessen sich die Elemente nicht deklarieren...
    Liebe Grüße
    Sebastian



  • Mach doch die Controls zu Member Deiner Klasse oder verwalte sie in einer Containerstruktur die wiederum Member Deiner Klasse ist.



  • Sorry aber wie geht das, ich hab in meinem Ebook von Galileo Computing nichts zu Membern in der Richtung gefunden?
    Liebe Grüße
    Basti

    Edit: Habe jetzt versucht die beiden Controls an anderen Stellen zu definieren. z.B. in der class Program {} da darf es aber nicht sein.
    Wie kann man es sonst noch als member deklarieren?



  • Eine andere Idee von mir wäre mir alle Childs des Panel4 holenzulassen und die dann lösche, aber wie?



  • Sorry aber wie geht das, ich hab in meinem Ebook von Galileo Computing nichts zu Membern in der Richtung gefunden?
    Liebe Grüße
    Basti

    class Form1 : Form
    {
       private void MenuErstellen() { // deine impl.. }
       private void MenuEntfernen() { // deine impl.. }
    
       private TextBox textBox;
       private Label label;
    }
    

    textBox und label sind dabei Member der Klasse.



  • Eine andere Idee von mir wäre mir alle Childs des Panel4 holenzulassen und die dann lösche, aber wie?

    http://msdn.microsoft.com/de-de/library/system.windows.forms.control.controls.aspx


Anmelden zum Antworten