Member 13435303 Ответов: 1

Visual studio обновляет форму, когда она находится в другой форме


У меня есть 2 формы windows под названием frmmain и frmpopup. Форма frmpopup добавляет данные в базу данных и в список frmmain. При нажатии на кнопку под названием btnadd. Мне нужно обновить frmmain с помощью кнопки btnadd в форме frmpopup, поэтому, когда frmpopup закрывается. он обновит форму загрузки frmmain, поэтому он снова загрузит frmmain, и мои данные будут отображаться в listview

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

это происходит в форме frmmain при нажатии кнопки build in btnadd

Dim popup As frmpopup
    popup = New frmpopup
    
       popup.ShowDialog(Me)
       
       popup.Dispose()
        frmmain.refresh 


мне нужно обновить форму frmmain

Richard Deeming

Если вы хотите, чтобы мы помогли вам исправить ваш код, вам нужно показать нам соответствующие части вашего кода и объяснить проблему, которую вы пытаетесь исправить.

1 Ответов

Рейтинг:
5

Dave Kreskowiak

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

Если вы показали всплывающую форму с помощью .ShowDialog (), основная форма может быть закодирована для обновления самой себя при закрытии всплывающей формы.

Если нет, то ваша всплывающая форма должна быть закодирована так, чтобы вызвать событие, на которое подписывается основная форма. Это событие будет сигнализировать всем слушателям, что данные изменились, и они должны обновить себя новыми данными.

Ни в коем случае одна форма не должна касаться элементов управления другой формы.


Member 13435303

я действительно использую frmpopup.Метода showdialog(). как бы я закодировал обновление в него или если у вас есть какие-либо ссылки на это. кроме того, я был бы не прочь узнать, как сделать это событие

Dave Kreskowiak

Как вы говорите сетке, чтобы она получала свои данные в первую очередь? Все, что вы делаете, это снова вызываете этот метод, чтобы получить новые данные из базы данных.

ShowDialog-это блокирующий вызов, поэтому вы можете вызвать этот метод сразу после строки ShowDialog или где-то еще.

Member 13435303

данные находятся на странице frmmain_load. она будет загружать данные, то он будет передавать данные в элемент управления ListView. должен ли я поместить showdialog в frmmain load, потому что прямо сейчас он находится на двойном щелчке в форме listview (txtlistview_MouseDoubleClick), а затем он открывает frmpopup

Dave Kreskowiak

Вы говорите о вещах, которые не имеют никакого отношения к поставленному вопросу.

В опубликованном фрагменте кода Вы бы поместили вызов метода, который извлекает данные, перед строкой с надписью. Refresh.

Member 13435303

большое спасибо, что я все понял! просто нужно было сделать всплывающее окно раздела Загрузки()

фрмпопуп.Метод showdialog()
frmpopup.Распоряжаться()



всплывающий()


Меня.Рядом()