Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
19 / 19 / 0
Регистрация: 05.02.2015
Сообщений: 175

Запуск процедуры/функции до открытия формы

10.04.2018, 13:47. Показов 5006. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем, привет.
Возможно ли запустить процедуру/функцию до открытия формы? Т.е. до процедуры:
VB.NET
1
2
3
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        'Код программы
    End Sub
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.04.2018, 13:47
Ответы с готовыми решениями:

Запуск процедуры из формы
Добрый день! Столкнулся с проблемой запуска процедуры из VB, находящуюся в Access. Private Sub Button3_Click(sender As Object, e As...

Как вызвать из процедуры текущей записи, процедуру открытия формы
Доброго времени суток! Возникла необходимость в процедуре Form_Current() обратиться к процедуре Form_Open(Cancel As Integer). Причём в...

Как сделать автоматический запуск формы после открытия документа?
1. Как сделать автоматический запуск формы после открытия документа? 2. Как сделать автоматический запуск макроса после открытия...

9
1732 / 1636 / 166
Регистрация: 25.07.2015
Сообщений: 2,698
10.04.2018, 14:19
Лучший ответ Сообщение было отмечено Yury Komar как решение

Решение

Создаёте процедуру
VB.NET
1
2
3
4
5
6
7
Module Module1
     Sub Main()
      'код вашей процедуры/функции
      Form1.Show
      
 End Sub
End Module
и стартуете проект с этой процедуры Main

Добавлено через 15 минут
Или так , запуск тот же через Main

VB.NET
1
2
3
4
5
6
7
Module Module1 
     Sub Main() 
         'код вашей процедуры/функции
          Dim f1 as New Form1 
          Application.run(f1) 
     End Sub 
End Module
1
19 / 19 / 0
Регистрация: 05.02.2015
Сообщений: 175
09.02.2021, 16:22  [ТС]
Всем привет.
Каким образом выполнить определенные процедуры, без запуска основной формы?
Если программе переданы аргументы, то необходимо выполнить ряд процедур/функции и завершить программу, не загружая основную форму. Если же аргументы не переданы программе, то просто запустить основную форму.
0
1732 / 1636 / 166
Регистрация: 25.07.2015
Сообщений: 2,698
09.02.2021, 18:15
Devils, точно так же как указано выше , только через ветвление IF
При TRUE выполняются процедуры без формы , при FALSE открывается форма,
ну или наоборот, на ваше усмотрение.
2
19 / 19 / 0
Регистрация: 05.02.2015
Сообщений: 175
10.02.2021, 09:44  [ТС]
Kulma, Пардон, изначально затупил На ваше первое сообщение не посмотрел.
А как прописать, чтобы проект стартовал именно с процедуры main в module1? Ведь если приложение типа: "Приложение Windows Forms", то указать можно только форму запуска. В данном случае - Form1
0
fly
 Аватар для I can
4955 / 4646 / 844
Регистрация: 13.04.2015
Сообщений: 9,841
10.02.2021, 10:04
Цитата Сообщение от Devils Посмотреть сообщение
проект стартовал именно
В свойствах решения нажмите кнопку "Посмотреть события приложения".
Попадёте в модуль, где черным по белому написано

' Для MyApplication имеются следующие события:
'
' Startup: возникает при запуске приложения перед созданием начальной формы.
' Shutdown: возникает после закрытия всех форм приложения. Это событие не происходит при прерывании работы приложения из-за ошибки.
' UnhandledException: возникает, если в приложение обнаруживает необработанное исключение.
' StartupNextInstance: возникает при запуске приложения, допускающего одновременное выполнение только одной копии, если это приложение уже активно.
' NetworkAvailabilityChanged: возникает при изменении состояния подключения: при подключении или отключении.
Добавлено через 2 минуты
Добавите туда
VB.NET
1
2
3
    Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
            Module1.main()
        End Sub
И будет вам щастье
4
19 / 19 / 0
Регистрация: 05.02.2015
Сообщений: 175
10.02.2021, 11:01  [ТС]
I can, это я понял. Интересен такой момент. Выполняется процедура Module1.main() в MyApplication_Startup.
В Module1.main() выполняется условие

VB.NET
1
2
3
4
5
If My.Application.CommandLineArgs.Count = 0 then
'Выполняется некий код и запускается Form1
else
'Выполняется некий код и закрыть программу в целом
end if
Как закрыть программу, при выполнении условия, не загружая основную форму?
0
fly
 Аватар для I can
4955 / 4646 / 844
Регистрация: 13.04.2015
Сообщений: 9,841
10.02.2021, 11:08
Цитата Сообщение от Devils Посмотреть сообщение
Как закрыть программу, при выполнении условия, не загружая основную форму?
End

Добавлено через 4 минуты
Цитата Сообщение от Devils Посмотреть сообщение
Module1.main()
Да и main вместе с Module1 не нужен. Можно код перенести в MyApplication_Startup.
Правда есть нюансы
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
10.02.2021, 12:36
ну а можно переопределить метод OnLoad внутри самой формы, если выполняемый код относится к самой форме
VB.NET
1
2
3
4
5
6
7
Protected Overrides Sub OnLoad(e As EventArgs)
    'Тут выполняем код до вызова события Load
    MessageBox.Show("Событие Load ещё не вызывалось.")
 
    'А теперь вызываем событие Load
    MyBase.OnLoad(e)
End Sub
А можно из конструктора, а можно при создании хэндла окна, Там событий много до Load
4
19 / 19 / 0
Регистрация: 05.02.2015
Сообщений: 175
15.02.2021, 10:34  [ТС]
Спасибо все за помощь.
В итоге получилось следующее. В ApplicationEvents Добавил вызов процедуры Args из модуля Module1
ApplicationEvents
VB.NET
1
2
3
        Private Sub MyApplication_Startup(sender As Object, e As ApplicationServices.StartupEventArgs) Handles Me.Startup
            Args()
        End Sub

Args
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    Sub Args()
        Try
            Select Case My.Application.CommandLineArgs.Count
                Case 0
                    'Код программы
                Case 1
                    'Код программы
                    Form1.Close()
            End Select
        Catch ex As Exception
            MsgBox(ex.Message)
            Form1.Close()
        End Try
    End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.02.2021, 10:34
Помогаю со студенческими работами здесь

Запуск функции открытия модального окна при клике по ссылке
Приветствую всех. Товарищи я в JavaScript вообще не силён, можно даже сказать полный 0, по этому обращаюсь за помощью. Предположим...

Запуск функции одной формы из другой
Доброго времени суток! Есть 2 формы - mainForm и addForm. При запуске mainForm запускается функция выводящая информацию из БД в...

Процедуры и функции для внешней печатной формы счета КА 1.1 (8.2, УП)
Подскажите, пожалуйста, какие процедуры и функции должны быть во внешней печатной форме "СчетНаОплату" для Комплексной...

Запуск процедуры выхода во время работы другой процедуры
как зделать процедуру которая будет запускаться так сказать вне очереди! ну или точнее суть проблемы : процедура из 6 шагов с...

Нужно, чтобы в функции Main файла исходного кода происходил запуск обработки формы
Здравствуйте. Я только начала изучение windows forms и столкнулась со следующей проблемой. Мне нужно, чтобы в функции Main файла...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru