2013-02-11 3 views
0

Я получил форму, содержащую элементы управления в ней, назовем форму Form1. Элементы управления генерируются при загрузке Form1. Всякий раз, когда я нажимаю на контроле, это приводит меня к другой форме, Form2 и скрываетForm1 с помощью этого простого кода, который расположен на Form1Как сделать форму запускать код всякий раз, когда он показывает

Me.hide() 
    Form2.show() 

Form2 содержит некоторые элементы управления. Один из них - это элемент управления, который позволяет пользователю удалить запись. Всякий раз, когда пользователь удаляет запись, Form2 закрывается и Form1 появляется, с помощью кода:

'Deletes record here 
    Me.close() 
    Form1.Show() 

Проблема заключается в том, элемент, который я удалил в Form2 на Form1 недо закрываю Form1 и запустить его снова по-прежнему появляется.

Проблема в том, что я не хочу закрывать Form1, потому что когда Form1 закрывается, он делает другое дело.

Функция, которая заполняет Form1 под названием Initialize(). Как заставить эту функцию работать, когда я делаю Form1.show()? Я попытался поставить эту функцию в , показывая событие в Form1, но это не помогло.

Большое спасибо!

+0

'Form1' содержит Picturebox, созданные из базы данных. Событие клика по элементу открывает форму Form2, которая показывает больше информации о Picturebox. 'Form2' имеет способность удалять Picturebox, и всякий раз, когда я удаляю изображение, я хочу вернуться к' Form1'. Когда я удаляю «Form1» после удаления окна с картинками, картинка остается в форме до тех пор, пока я ** не закрою ** форму и не запустил ее снова. Функция, которая генерирует изображения из базы данных под названием «Инициализация()», и я хочу запускать ее каждый раз, когда 'Form1.show()' принимает – kfirba

ответ

0

Если вам нужно обновить Form1 с обновленными данными из изменений, внесенных на Form2, попробуйте запросить 's datasource. На самом деле, я думаю, вы должны иметь внешний процесс, содержащий экземпляры Form1 и Form2 вместо использования глобальных экземпляров.

если вы хотите вызвать initialize() еще раз перед Form1.show, вы можете, но рассмотреть вопрос о принятии кода из этого подпункта, и в свой собственный пользовательский подразделам, а затем вызвать его из initialize() и перед form1.show. Скажем, вы назвали ваш снимок загрузки loadPics(). вы должны позвонить loadpics() внутри initialize() и до Form1.show.

+0

, что инициализирует() 'он извлекает данные из источника данных и генерирует Pictureboxes в соответствии с информация. Источник данных изменяется, когда я удаляю Picturebox на Form2 – kfirba

0

Я нашел решение!

Чтобы выполнить код, который будет выполняться всякий раз, когда вы делаете Form1.show(), просто введите код, который вы хотите исполнить, в поле VisibleChanged.

Надеюсь, это поможет другим!