Наша первая форма - форма входа в систему. Как я могу открыть следующую форму после входа?Как открыть другую форму из текущей формы?
ответ
В вашей форме входа в систему я предполагаю, что вы выполняете проверку внутри метода событий для управления кнопкой. Таким образом, вы бы что-то вроде:
Private Sub btnLogin_Click()
If ValidatePassword(txtPassword.Text) Then
' The password is correct, so show the main form and close the login form
MainForm.Show
Unload Me
Else
' The password is incorrect, so leave this form on screen
MsgBox "Invalid password entered!", vbError
txtPassword.SetFocus
End If
End Sub
Этих двух интересных особенностей этого кода:
Show
метод, который вы вызываете на форме объекта, который вы хотите показать.
В этом случае это, вероятно, будет вашей основной формой - заменитеMainForm
тем, что вызывается.Оператор
Unload
, который закрывает и уничтожает указанную форму.
В этом случаеMe
относится к форме входа в систему, так как вы закончили с ней.
+1 Хороший пример –
Вам необходимо позвонить по телефону Show
по форме, которая должна отображаться после регистрации. Вы можете узнать больше о Understanding Forms and form events
Мой подход заключается в том, чтобы избежать попытки открыть форму входа в качестве первой формы.
Вместо этого пусть основная форма будет первой и в ее событии загрузки Покажите свою форму входа в систему как модальный диалог. Это можно сделать, показывая основную форму сначала, выполнив показ на ней. Пример, основанный на стандартном шаблоне "Вход в систему" Диалог формы с некоторыми изменениями кода:
frmMain.frm
Option Explicit
Private Sub Form_Load()
Dim Control As Control
Show
frmLogin.Show vbModal, Me
With frmLogin
txtSuccess.Text = CStr(.LoginSucceeded)
If .LoginSucceeded Then
'Proceed normally, perhaps after capturing
'the User Name, etc.
txtUserName.Text = .User
txtPassword.Text = .Password
Else
'Do "Unload Me" or disable all controls
'as shown here, etc.
For Each Control In Controls
On Error Resume Next
Control.Enabled = False
On Error GoTo 0
Next
End If
End With
Unload frmLogin
End Sub
frmLogin.frm
Option Explicit
Public LoginSucceeded As Boolean
Public User As String
Public Password As String
Private Sub cmdCancel_Click()
LoginSucceeded = False
Hide
End Sub
Private Sub cmdOK_Click()
'Check for correct password, hard-coded here.
If txtPassword.Text = "password" Then
LoginSucceeded = True
User = txtUserName.Text
Password = txtPassword.Text
Hide
Else
MsgBox "Invalid Password, try again!", , "Login"
With txtPassword
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
End Sub
Модальные диалоги, вероятно, являются лучшим решением. Мой ответ предполагал, что у этого уже было, но не всегда лучший подход! –
Этого также не должно быть сделано из Form_Load, это также может быть результатом меню или кнопки, чтобы инициировать вход в систему ... предполагая, что есть большая точка в том, что форма видима и активна до входа в систему. Возможно, вы входите в систему с разными учетными данными для последовательных сеансов во время одного запуска. – Bob77
- 1. Закрытие текущей формы и открыть другую форму
- 2. Как открыть форму из главной формы, скрывая главную форму
- 3. Как добавить другую форму в текущей форме в codeigniter?
- 4. Открыть существующую форму из основной формы
- 5. Открыть вторую форму из третьей формы
- 6. Открыть другую форму из основной формы, а затем закрыть основную форму на проекте C#
- 7. Как закрыть форму и открыть другую
- 8. Как вызвать другую форму при отправке формы.?
- 9. Как передать значение формы в другую форму?
- 10. Открыть форму внутри другой формы?
- 11. Как передать значение из моей формы в другую форму?
- 12. Как получить/скопировать значение флажка из формы в другую форму
- 13. Как передавать данные из видимой формы в другую видимую форму?
- 14. Как отправить данные из одной формы в другую форму iFrame
- 15. Открыть форму как субформу
- 16. Как связать другую форму?
- 17. WPF using заявление открыть другую форму
- 18. Как открыть другую форму, когда мы нажимаем QToolButton в PyQt?
- 19. Как открыть дочернюю форму из другой дочерней формы?
- 20. Как открыть форму из другой формы в C#
- 21. Как открыть форму из другой формы в VB.NET?
- 22. Вход с основной формы в другую форму
- 23. Закрытие формы диалога и откройте другую форму
- 24. Обновление формы через другую форму в C#
- 25. Отправка данных из одной формы в другую
- 26. отправка формы django в другую форму
- 27. Открыть новую форму и закрыть другую форму C#
- 28. Отправка результатов формы в другую форму
- 29. Вызов формы через другую форму (кнопка)
- 30. Заполните форму, затем сместите влево, чтобы открыть другую с jQuery
ли какие-либо из наших ответов удалось чтобы помочь вам с вашим вопросом? – anonymous