Member 13758639 Ответов: 2

Та же самая форма открывается снова вместо того, чтобы скрывать и показывать новую форму


Эй, у меня странная проблема с моей программой VB.
Код для этого есть:
Me.Hide()
Form3.Show()

Но вместо этого происходит вот что.. Ссылка

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

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

Я попытался использовать оператор IF
If people = 0 Then
MsgBox("At least one person has to attend")
Else
Me.Hide()
Form3.Show()

0x01AA

Вы уверены, что "я" и "форма 3" - это разные формы?

2 Ответов

Рейтинг:
1

OriginalGriff

Используйте отладчик: поставьте точку останова на линию

Me.Hide()
И запустите свое приложение.
Когда он достигнет точки останова, он остановится, и вы сможете точно посмотреть, что происходит.
Начните с того, что посмотрите на меня и форму 3 - Если это одно и то же, то то, что вы говорите, происходит именно так, как я ожидаю.

Но вызов переменной формы "Form3" кажется странной идеей - учитывая, что "Form3" - это имя по умолчанию для Автогенерированного класса форм Visual Studio, - поэтому я также перейду к методам и посмотрю, есть ли у вас общий метод под названием "Show" в вашем классе.
Это предполагает, что ваше приложение компилируется без проблем - если нет общего метода Show и это имя класса вместо переменной, то исполняемый файл, который вы запускаете, может не выглядеть как этот код!


Рейтинг:
1

PrafullaVedante

Я вижу, что форма повторно инициализируется при повторном запуске. Следовательно, это совершенно другой экземпляр формы.

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