Как вызвать Public Shared Sub с параметрами - PullRequest
0 голосов
/ 04 июня 2019

У меня есть form_click событие, а также Public Shared Sub в одном классе.Теперь мне нужно вызвать это Shared Sub из других событий.Но я сталкиваюсь с проблемами при передаче параметров вызывающему Sub.

Не могли бы вы помочь мне здесь, а также объяснить, что происходит здесь!

Public Class SC
' More codes here.......

    Public Sub SC_Click(sender As Object, e As EventArgs) Handles Me.Click
        Try

            Dim document As New Document()
            Dim section As Section = document.AddSection()

            'SaveDoc(document)  I WANT TO CALL THIS INSIDE Private Sub SaveToolStripMenuItem_Click

        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Public Shared Sub SaveDoc(document As Document)
        Dim fname = InputBox("Enter file name:", "file name")
        document.SaveToFile(fname & ".docx", FileFormat.Docx)
        MsgBox("""" & fname & ".DOCX"" is saved!")
    End Sub

    Private Sub SaveToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SaveToolStripMenuItem.Click
        'I Want To Call SaveDoc() Here with Params
    End Sub

Я пытался изменитьSub для общей функции, но проблема существует.Пожалуйста, помогите мне передать параметры!

К настоящему времени вы уже поняли, что это инструмент для создания снимка экрана для меня.В настоящее время файл слова сохраняется при каждом щелчке!

Когда я вызываю общий Sub saveDoc () из события Form_Click, это прекрасно работает.Но мне нужно разбить код на отдельное событие, так как я хочу сохранить файл только один раз, а не при каждом нажатии.

Исходный код:

Нажмите ЗДЕСЬ, чтобы просмотреть исходный код

Предложение IDE:

Нажмите ЗДЕСЬ, чтобы просмотреть предложение IDE

1 Ответ

0 голосов
/ 05 июня 2019

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

Public Class SC

    Private document As New Document()

    Public Sub SC_Click(sender As Object, e As EventArgs) Handles Me.Click
        Try
            document = New Document() ' it's unclear whether you need this line here or not
            Dim section As Section = document.AddSection()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Public Shared Sub SaveDoc(document As Document)
        Dim fname = InputBox("Enter file name:", "file name")
        document.SaveToFile(fname & ".docx", FileFormat.Docx)
        MsgBox("""" & fname & ".DOCX"" is saved!")
    End Sub

    Private Sub SaveToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SaveToolStripMenuItem.Click
        SaveDoc(document)
    End Sub

End Class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...