Как проверить, закрыта ли пользовательская форма кнопкой "X" Windows?

Игорь Чеглаков

Есть подпрограмма, она создает пользовательскую CourtFormформу, а затем берет из нее данные. Проблема возникает, когда указанная форма закрывается преждевременно, нажав кнопку окна «X», и позже я получаю сообщение об ошибке выполнения. Для справки вот о чем я говорю:

введите описание изображения здесь В моем коде я попытался проверить выход из подпрограммы:

Private Sub test()

    'Create an exemplar of a form
    Dim CourtForm As New FormSelectCourt
    CourtForm.Show

    'The form is terminated at this point

    'Checking if the form is terminated. The check always fails. Form exists but without any data.
    If CourtForm Is Nothing Then
        Exit Sub
    End If

    'This code executes when the form proceeds as usual, recieves 
    '.CourtName and .CourtType variable data and then .hide itself.

    CourtName = CourtForm.CourtName
    CourtType = CourtForm.CourtType
    Unload CourtForm


    'Rest of the code, with the form closed a runtime error occurs here

End Sub

Судя по всему, экземпляр формы существует, но без каких-либо данных. Вот скриншот часов:

введите описание изображения здесь

Как правильно проверить форму, если она закрылась преждевременно?

Storax

Добавьте следующий код в свою пользовательскую форму

    Private m_Cancelled As Boolean

    ' Returns the cancelled value to the calling procedure
    Public Property Get Cancelled() As Boolean
        Cancelled = m_Cancelled
    End Property

    Private Sub UserForm_QueryClose(Cancel As Integer _
                                           , CloseMode As Integer)

        ' Prevent the form being unloaded
        If CloseMode = vbFormControlMenu Then Cancel = True

        ' Hide the Userform and set cancelled to true
        Hide
        m_Cancelled = True

    End Sub

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

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Самый быстрый удаленный X из Windows

Запускайте задачу каждые x минут с помощью планировщика задач Windows

Показывать окно сообщений при нажатии кнопки закрытия Windows X

В чем разница между "..." и x "..." в условии IF в пакетном файле Windows?

Остановка любых циклов при нажатии кнопки Windows 'X' (Закрыть)

Все точки значений X не отображаются в приложении для диаграммы с # windows

Пакетный файл Windows удаляет файлы старше X дней, но оставляет минимум X файлов

СБОРКА X64 - Невозможно запустить скомпилированный и связанный необработанный шеллкод в Windows

планировщик Windows для запуска пакетного сценария (.bat) каждые x минут?

pyftdi находит устройство под OS X, но не под Windows

кроссплатформенный скриптинг для Windows, Linux, MacOS X

x: привязка в UWP (универсальная платформа Windows)

Как создать приложение OS X с Python в Windows

Быстрые волокна / сопрограммы под x64 Windows

Как отслеживать изменения буфера обмена в X11 Windows?

Метод доступа виден в Windows, Linux, но не в OS X

Добавление дополнительной строки в {x: Bind} в универсальной платформе Windows XAML

Почему моя функция работает в Windows, но не в OS X?

Пакет Windows, эквивалентный bash 'set -x'

Windows PowerShell - удаление файлов старше X дней

Переносить установку OS X Emacs на Windows?

NodeJS (Windows) - SyntaxError: отсутствует X

Установка addmtoolbox в Windows: x не является таблицей данных (RStudio)

Отсутствует программа эмулятора для процессора x86 в Windows

Как использовать X Windows с Emacs в Windows 10 Bash?

Почему обработчик контекстного меню оболочки Windows нарушает работу меню опытного пользователя (Win + x) в Windows 8/10?

Как Windows / Linux x64 определить последний раз страница памяти был доступ?

Почему не JVM инструкции Испустите на предварительную загрузку Windows x86

Раскладка по умолчанию для Windows Intellij в Mac OS X

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    Редактировать существующий файл Excel C # npoi

  3. 3

    Резервное копирование / восстановление kafka и zookeeper

  4. 4

    Flutter: Unhandled Exception: FileSystemException: Creation failed, path = 'Directory: '' (OS Error: Read-only file system, errno = 30)

  5. 5

    Ipython использует% store magic для получения динамического имени

  6. 6

    Как получить список индексов всех значений NaN в массиве numpy?

  7. 7

    Bogue étrange datetime.utcnow()

  8. 8

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  9. 9

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  10. 10

    Дженерики и потоки Java

  11. 11

    Как изменить значок приложения для проекта libgdx android

  12. 12

    Почему бы не выдать ошибку ERROR в тесте Jasmine?

  13. 13

    Выполнение команд PowerShell в программе Java

  14. 14

    How to convert C++/CLI string to const char*

  15. 15

    Почему actionPerformed выполняется двумя потоками?

  16. 16

    Как отфильтровать несколько столбцов в Qtableview?

  17. 17

    Passing Core Data objects from UITableViewCell to another View Controller

  18. 18

    discord.py: on_message (message) не работает несколько дней

  19. 19

    Как прикрепить файл как вложение к письму с помощью SendGrid?

  20. 20

    Динамическое создание точек / квадратов внутри Picturebox

  21. 21

    Строка не читается после новой строки из .env в nodeJs

популярныйтег

файл