Как вызвать подпрограмму одной формы из другой формы? - PullRequest
0 голосов
/ 24 марта 2020

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

Я попытался поставить префикс основной form (main.subroutinename ()), он не показывает ошибку при компиляции, но он также не работает.

1 Ответ

0 голосов
/ 24 марта 2020

Как говорит Microsoft:

Синтаксис вызова

Вы явно вызываете процедуру Sub с помощью отдельного оператора вызова. Вы не можете вызвать его, используя его имя в выражении. Вы должны предоставить значения для всех аргументов, которые не являются обязательными, и вы должны заключить список аргументов в скобки. Если аргументы не указаны, вы можете опустить скобки. Использование ключевого слова Call необязательно, но не рекомендуется.

Синтаксис для вызова процедуры Sub следующий:

[Call] SubName[(argumentlist)]

Вы можете вызывать метод Sub вне класса, который его определяет. Сначала вы должны использовать ключевое слово New для создания экземпляра класса или вызвать метод, который возвращает экземпляр класса . Для получения дополнительной информации см. Новый оператор. Затем вы можете использовать следующий синтаксис для вызова метода Sub объекта экземпляра: Или вы можете создать подпрограмму Sub в Module, сделав ее видимой (Friend или Public, et c) затем вызывая его внутри всего Namespace, который содержит Module

object.MethodName[(argumentList)]

Иллюстрация объявления и вызова

Следующая процедура Sub сообщает оператору компьютера, какое задание собирается выполнить приложение, а также отображает отметку времени. Вместо того, чтобы дублировать этот код в начале каждой задачи, приложение просто вызывает tellOperator из разных мест. Каждый вызов передает строку в аргументе задачи, которая идентифицирует запускаемую задачу.

Sub tellOperator(ByVal task As String)
    Dim stamp As Date
    stamp = TimeOfDay()
    MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub

В следующем примере показан типичный вызов tellOperator.

tellOperator("file update")
...