Остановите мигание экрана, когда форма VB.Net не видна - PullRequest
0 голосов
/ 12 октября 2018

Для проекта, над которым я работаю, форма запуска (называемая HomeForm) должна быть невидимой, пока пользователь не войдет в программу.Теперь я настроил его так, чтобы форма не отображалась, установив HomeForm.Visible = False в методе Load формы входа.

Private Sub LoginForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    HomeForm.Visible = False
End Sub

Я пытаюсь настроить его таким образом, чтобы, когда пользовательвыходит из системы, форма также исчезает.

Private Sub File_Logout_Click(sender As Object, e As EventArgs) Handles File_Logout.Click
    If MessageBox.Show("Are you sure you wish to log out?", "Logout Confirmation", MessageBoxButtons.YesNoCancel) = DialogResult.Yes Then
        LoggedIn = False
        LoginForm.ShowDialog()
    End If
End Sub

Теперь у меня возникла небольшая проблема, при запуске которой на экране быстро мигает HomeForm, прежде чем он становится невидимым.Как я могу предотвратить это?

Я пытался установить Me.Visible = False в конструкторе и Load методах HomeForm, и это ничего не дало.Поэтому я не уверен, как решить эту проблему.

Public Sub New()
    InitializeComponent()
    Me.Visible = False
End Sub

Private Sub HomeForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.Visible = False
    LoginForm.ShowDialog()
End Sub

1 Ответ

0 голосов
/ 12 октября 2018

Правильный способ сделать это - обработать событие приложения Startup, выполнить вход в систему, а затем установить e.Cancel в True, если пользователь не вошел в систему успешно.Вы можете получить доступ к соответствующему файлу кода, нажав кнопку «Просмотр событий приложения» на странице «Приложение» в свойствах проекта, а затем создать обработчик событий, используя раскрывающиеся списки в верхней части редактора кода.Этот обработчик событий выполняется до создания формы запуска, и, если для e.Cancel установлено значение True, приложение завершит работу, вообще не создавая форму запуска.Подробнее здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...