powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Кликом по кнопкам изменять свойство формы VBA
15 сообщений из 65, страница 3 из 3
Кликом по кнопкам изменять свойство формы VBA
    #36439626
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProНет. Initialize выполняется только при создании экземпляра класса (в данном случае формы).
То есть при первом открытие формы кодом UserForm1.Show
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439632
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailТо есть при первом открытие формы кодом UserForm1.Show

Если говорить строго, форма создается не самим методом Show. Этот метод предназначен для показа формы. А форма (экземпляр класса) создается VB неявно при первом обращении к объекту. Например, можно написать UserForm1.Caption="бебебе" и экземпляр формы уже будет в памяти (хоть и не будет показан) и событие Initialize возникнет именно в этот момент, хоть форму вы и не увидите.

Это особенность VB, которую надо хорошенько иметь ввиду при работе с объектами.
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439638
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Не знаю... но событии Initialize создается и при .Show если открываешь первый раз или открываешь ее после выполнения Unload Me
Есть ли тут какая либо логика, и можно ли использовать данное свойство .Show для открытие формы?
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439642
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailShocker.Pro,

Не знаю... но событии Initialize создается и при .Show если открываешь первый раз или открываешь ее после выполнения Unload Me
Есть ли тут какая либо логика, и можно ли использовать данное свойство .Show для открытие формы?

Все верно. В отличие от Hide, Unload УНИЧТОЖАЕТ экземпляр формы и последующее Show вновь создает новый экземпляр, соответственно, событие Initialize снова возникнет, но уже в контекте нового экземпляра формы.

Скажем так, Initialize в пределах одного экземпляра класса возникает только один раз (как и Terminate)


Я предлагал (где-то еще на второй странице топика) перегружать форму, но так как реакции не последовало, решил, что вам это не подходит. Unload (в отличие от Hide) уничтожит форму вместе с тем, что вы на ней наворотили, что навводил пользователь в поля и т.п. Зато есть возможность впоследствии запустить новый экземпляр модально.
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439643
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще, кстати, если пользователь закроет форму крестиком, то ее экземпляр тоже уничтожится и при последующем запуске формы разумеется возникнет Initialize
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439651
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Немного ясно.
Еще, почему при вводе UserForm1. Visible = не отображается False True
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439654
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос неясен. Куда и что вы вводите?

Код: plaintext
1.
2.
?userform1.Visible
False
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439673
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Для формы так нельзя?

Private Sub CommandButton1_Click()
TextBox1.Visible = False
End Sub
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439676
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailShocker.Pro,

Для формы так нельзя?

Private Sub CommandButton1_Click()
TextBox1.Visible = False
End Sub

В VB можно
В экселе меня обругало.
Впрочем, так как Hide и Show работают, не вижу в этом необходимости.
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439679
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Зачем тогда после точки формы, выходит Visible (видимый)?
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439686
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailShocker.Pro,

Зачем тогда после точки формы, выходит Visible (видимый)?

Потому что свойство существует.

Вы точно читаете меня через строчку.
Я писал выше, что свойство доступно для чтения.
Вы можете программно проверить состояние формы.
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439687
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Спасибо Вам за то что подсказали решение создание видимой не видимой формы, и за консультацию.
Возможно еще что то будет не ясно по этой теме…
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439703
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail ,
Unload (в отличие от Hide) уничтожит форму вместе с тем, что вы на ней наворотили, что навводил пользователь в поля и т.п. Зато есть возможность впоследствии запустить новый экземпляр модально.
Модальность формы возможно изменить и после применения метода Hide, т.е. без её уничтожения и создания нового экземпляра.
Код: plaintext
1.
2.
3.
With UserForm1
    .Hide
    .Show vbModal '.Show vbModeless
End With
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36439991
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlthМодальность формы возможно изменить и после применения метода Hide, т.е. без её уничтожения и создания нового экземпляра.

Да? Значит книжка, в которой я прочитал это лет 10 назад меня обманула :)
Ну тогда все еще проще
...
Рейтинг: 0 / 0
Кликом по кнопкам изменять свойство формы VBA
    #36440064
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Не буду впадать, в полемику, тем более знания мои по VBA оставляют желать лучшего.
На данный момент меня устраивает различное сочетание .Hide,.Show, Unload Me
...
Рейтинг: 0 / 0
15 сообщений из 65, страница 3 из 3
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Кликом по кнопкам изменять свойство формы VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]