Suren97 Ответов: 1

C# как сохранить данные пользователя, которые я отредактировал в windows forms


На форме у меня есть только кнопка Показать все, когда я нажимаю на нее, она показывает мне данные моего пользователя в FlowLayoutPanel,я должен удалить или отредактировать своих пользователей.Я написал функцию для кнопки удаления,когда я нажимаю на кнопку редактирования в правом углу открывается панель,которая имеет 3 текстовых поля ' name, Last Name,Age и Save Button.Когда я нажимаю на кнопку edit в панели, мне показываются данные этого пользователя, и мне нужно отредактировать их и нажать на кнопку Save.После этого в FlowLayoutPanel должно быть показано, что пользователь уже отредактирован.Как я могу это сделать?

Что я уже пробовал:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    public void Sharel()
    {
        flowLayoutPanel2.Controls.Clear();
        foreach(User item in Controller.users)
        {
            FlowLayoutPanel flp = new FlowLayoutPanel();
            flp.BackColor = Color.Cyan;
            Label lb = new Label();
            lb.Text = item.name;
            lb.ForeColor = Color.White;
            lb.Font = new Font("Verdana", 10);
            Label lb1 = new Label();
            lb1.Text = item.age.ToString() + " years old";
            lb1.ForeColor = Color.White;
            lb1.Font = new Font("Verdana", 10);
            Label lb2 = new Label();
            lb2.Text = item.lastname;
            lb2.ForeColor = Color.White;
            lb2.Font = new Font("Verdana", 10);
            flp.Controls.Add(lb);
            flp.Controls.Add(lb2);
            flp.Controls.Add(lb1);
            Button bt = new Button();
            bt.Text = "Delete";
            flp.Controls.Add(bt);
            bt.Click += new EventHandler(delete);
            flowLayoutPanel2.Controls.Add(flp);
            bt.Tag = item.id.ToString();
            Button b = new Button();
            b.Text = "Edit";
            flp.Controls.Add(b);
            b.Click += new EventHandler(edit);
            b.Tag = item.id.ToString();
        }
    }

    private void button1_Click(object sender, EventArgs e)
    {
        this.Sharel();
    }
    public void delete(object sender, EventArgs e)
    {
        Button ays = (Button)sender;
        Controller.users = Controller.users.FindAll(item => item.id.ToString() != ays.Tag.ToString());
        this.Sharel();
        //MessageBox.Show(ays.Tag.ToString(), "Jnjvac e");
    }
    public void edit(object sender, EventArgs e)
    {
        Button ayn = (Button)sender;
        panel1.Visible = true;
        User x = Controller.users.Find(item => item.id.ToString() == ayn.Tag.ToString());
        textBox1.Text = x.name;
        textBox2.Text = x.age.ToString();
        textBox3.Text = x.lastname;

    }
}

1 Ответов

Рейтинг:
1

#realJSOP

Самый простой способ-сохранить данные (предположительно в базе данных какого-то описания), а при возврате к родительскому файлу просто перезагрузить все данные заново.

Кстати, вы должны использовать конструктор, чтобы указать свойства элемента управления (например, семейство шрифтов, размер и цвет), потому что это дерьмо просто загромождает вспомогательный код.