VB Windows Form Application. Я разрабатываю приложение, часть программы которого связана с настройками конфигурации, позволяя пользователю вводить элементы конфигурации.При щелчке пункта меню для меню конфигурации в главной форме открывается меню.Это нормально, но основная форма не должна снова становиться активной, пока не закроется меню конфигурации.Это не происходит прямо сейчас, и основная форма просто выходит на передний план, а форма конфигурации переходит в фоновый режим ... Я понимаю, что кодирование события в дочерней форме для обработки этого не будет работать, потому что дочернее окно теряет контроль, а главноеформа получает контроль ... Я думал о кодировании функции в основной форме следующим образом, но это не кажется логичным, потому что мне нужно было бы добавить к ней для каждой формы и сделать проверку, чтобы убедиться, что ребенок действительно открыт, прежде чем пытаться закрыть ее..
Private Sub Form1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.GotFocus
MailSettingsWindow.Close()
RentalSettingsWindow.Close()
End Sub
Я покончил с вышеприведенной подпрограммой и использовал приведенный ниже код в соответствии с рекомендацией использования showdialog, которая работает так же, как я искал.
Private Sub MailingAndEmailSettingsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MailingAndEmailSettingsToolStripMenuItem.Click
Dim MailConfig As New MailSettingsWindow()
MailSettingsWindow.Showdialog()
End Sub