Laden...

Checkboxen, Buttons und Panels während der Laufzeit hinzufügen/entfernen

Erstellt von ChrisW10021999 vor 4 Jahren Letzter Beitrag vor 4 Jahren 861 Views
C
ChrisW10021999 Themenstarter:in
1 Beiträge seit 2019
vor 4 Jahren
Checkboxen, Buttons und Panels während der Laufzeit hinzufügen/entfernen

Moin,

ich bin mir nicht sicher, ob ich hier richtig bin, aber ich versuche es trotzdem mal:

Ich bin gerade dabei ein ToDo-Programm zu programmieren und brauche ein bisschen Denkanstoß 😁

Meine Windows-Form besteht aus zwei Panels. Auf dem rechten Panel ist noch eine GroupBox.
In der GroupBox auf dem rechten Panel kann ich Aufgaben hinzufügen. Sprich Checkboxs. Dazu gebe ich in der Textbox darunter etwas ein und klicke auf einen Button.

Unter dem linken Panel habe ich einen Button, in dem ich eine neue ToDo-Liste hinzufügen kann. Dazu wird auf dem linken Panel ein neuer Button hinzugefügt, mit dem ich dann Listen sichtbar bzw. unsichtbar machen kann (Mit der Visible-Methode.).

Jetzt möchte ich noch gerne, dass ich einzelne Checkboxen und Listen (mit Button zur Aktivierung) wieder entfernen kann.

Das ganze soll natürlich auf speicherbar sein.

So jetzt zur Frage(n): Wie mache ich das? Mit Klassen? Wie gebe ich neuerstellten Buttons Programmcode zur Aktivierung/Deaktivierung von Listen?

Oder sollte ich das ganz anders machen? Bin noch recht neu auf dem Gebiet der Programmierung.

Hier der Code, den ich bisher habe:

namespace ProjektToDo
{
    public partial class ToDo : Form
    {
        public ToDo()
        {
            InitializeComponent();
        }

        private void CmdAddTask_Click(object sender, EventArgs e)
        {
            if (TxtAdd.Text == "")
            {
                MessageBox.Show("Please enter a name for a new task.");
            }
            else
            {
                //Durch das Drücken des "Add"-Buttons wird im Panel eine neue Checkbox erstellt.
                CheckBox chb = new CheckBox();
                //Dabei wird der Checkbox den Inhalt der Textbox unterhalb des Panels als Anzeigetext hinzugefügt.
                chb.Text = TxtAdd.Text;
                //Mit dieser Anweisung wird jede neue Checkbox eine neue Position zugewiesen.
                chb.Location = new Point(10, PanList1.Controls.Count * 20);
                chb.Size = new Size(300, 21);
                //Jetzt wird dem Panel eine Checkbox hinzugefügt.
                PanList1.Controls.Add(chb);
                TxtAdd.Clear();
            }
        }
        private void CmdNewList_Click(object sender, EventArgs e)
        {
            if (TxtAdd.Text == "")
            {
                MessageBox.Show("Please enter a name for a new list.");

            }
            else
            {
                Button but = new Button();
                but.Text = TxtAdd.Text;
                but.Location = new Point(1, PanButtons.Controls.Count * 20);

                PanButtons.Controls.Add(but);
                TxtAdd.Clear();
            }
        }

        private void CmdVisible_Click(object sender, EventArgs e)
        {
            if (PanList1.Visible == true)
                PanList1.Visible = false;
            else PanList1.Visible = true;
        }
    }
}

Ich habe noch ein Bild vom Programm selber als Anhang hinzugefügt.

Mit freundlichen Grüßen

Chris

5.657 Beiträge seit 2006
vor 4 Jahren

Du solltest erst einmal damit beginnen, dich in die Technologie einzuarbeiten, mit der du arbeiten möchtest. Es gibt unzählige Tutorials zu jedem einzelnen der von dir genannten Punkten.

Erstes Suchergebnis zum Hinzufügen und Entfernen von Listenelementen: How to: Add and Remove Items with the Windows Forms ListView Control

Zu den anderen Fragen bezüglich WinForms empfehle ich Getting Started with Windows Forms

Zum Speichern der Daten bietet sich XML oder eine Datenbank an. Auch dazu findet man unzählige Tutorials.

Weeks of programming can save you hours of planning