С# WinForms. Обновить данные в форме

288
14 апреля 2017, 18:56

Имеется 2 формы, form1 - картинки с названиями велосипедов, форма AddBicycle - для добавления нового велосипеда в магазин. Проблема заключается в том, что при добавлении велосипеда он не добавляется в form1(flowLayoutPanel). На данный момент имею на form1 кнопку для перезапуска формы, код:

private void button2_Click(object sender, EventArgs e)
    {
        this.Hide();
        Form1 form = new Form1();
        form.Show();
    }

После добавления велика форма AddBicycle закрывается:

this.Close();

При перезапуске приложения велосипед добавляется. Желаемый результат:

Необходимо при закрытии формы AddBicycle на существующей форме form1 автоматически обновлять данные. То есть из AddBicycle при событии - закрытие получить доступ к form1, очистить flowLayoutPanel, заново записать в него данные с новым великом. Буду очень благодарен за помощь, если я не понятно что то написал - задавайте вопросы.

Answer 1

Здесь будем исползовать метод ShowDialog(), и после закрытие форма AddBicycle вызываем метод для получения данные велосипедов заново в Form1.

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    //Метод для получения данные велосипедов
    void GetBicycleList()
    {
        //картинки с названиями велосипедов
    }
    private void btnOpenAddBicycle_Click(object sender, EventArgs e)
    {
        this.Hide();
        frmAddBicycle frmbicycle = new frmAddBicycle();
        frmbicycle.ShowDialog();
        //Вызвать метод для получения данные велосипедов
        GetBicycleList();
        this.Show();
    }
}
Answer 2

Проблема решена путем добавления события Focus Activated на главной форме. `

 private void button1_Click(object sender, EventArgs e)
    {
        AddBicycle add_byc = new AddBicycle();
        add_byc.ShowDialog();
    }//Фокус на форме add_byc

При закрытии формы add_byc (возврат фокуса на form1), срабатывает событие:

private void Form1_Activated(object sender, EventArgs e)
    {
        Adding_Bikes_to_FLP();
        //Добавляем контролы в flowLayoutPanel
    }
READ ALSO
Как удалить из коллекции строки по определенной части?

Как удалить из коллекции строки по определенной части?

Есть коллекция , в коллекции строки вида:

228
Asp.net core DbSet динамическое добавление Include

Asp.net core DbSet динамическое добавление Include

Всем привет! Продолжаю изучать aspnet core, и у меня есть просьба о помощи

180
Какой сервис использовать для отправки SMS?

Какой сервис использовать для отправки SMS?

Как сделать, чтобы при регистрации пользователю приходила SMS на телефон (для подтверждения входа)

215
Joomla. Read more

Joomla. Read more

CMS Joomla использую впервые, поэтому возникли проблемыВ редакторе Tinymce сохраняю длинный текст, но он обрезается на половину

210