Member 12278335 Ответов: 0

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


У меня есть две формы и один класс, обе формы были соединены через класс а

Основная форма одно текстовое поле получите пользовательский ввод из текстового поля и отправьте его на редактирование для класса А,
ClassA делает некоторые изменения и отправляет в текстовое поле в Form2 для отображения вывода

Я попробовал ниже код, но он ничего не показывает

'01 ///Inside Form One Main Form
'------------------------------------------------------------------------------------------
Public Class Form1

    Private clasAObj As New ClassA

    '// Send to edit Class
    Sub sendToEdit()
        clasAObj.editText(TextBox1.Text.ToString)
    End Sub


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Form2.Show()
    End Sub
End Class


'----------------------------------------------------------------------------------------------------------
'02. //inside ClassA



Public Class ClassA

    Dim form2Obj As New Form2

    Sub editText(ByVal OriginalText As String)
        '/// Edit Like Something
        Dim EditText As String = OriginalText
        '/// Send to show form two text box
        form2Obj.ShowText(EditText)
    End Sub

End Class


'---------------------------------------------------------------------------------------------------------
'03. // Inside Form2

Public Class Form2
    Sub ShowText(ByVal receiveText As String)

        TextBox1.Text = receiveText.ToString & vbCrLf

    End Sub

End Class



если я пошлю в msg mox, это будет видно. но для текста это не работает

Пожалуйста, помогите мне

Richard Deeming

Где код, который вызывает sendToEdit метод?

Member 12278335

Private Sub Button4_Click(бывал отправитель как система.Объект, бывал е как система.EventArgs) Обрабатывает Button4.Щелчок
sendToEdit()
Конец Подводной Лодки

Member 12278335

Я пытаюсь с этим, но msg box только я могу получить, но не могу обновить текстовое поле.

clwprogrammer

в вашем файле класса вы в основном создаете совершенно новый объект, когда объявляете form2obj, который никогда не показывается. в класс файл, выше черты, что говорит form2obj, добавить строку, которая считывает form2obj = форма 2

Richard Deeming

Хороший улов! Вы должны опубликовать это как решение. :)

Member 12278335

Да, это работает. Большое вам спасибо. И еще одна вещь происходит, когда я закрываю подформу и снова открываю это текстовое поле подформы, которое не обновляется.... Почему так происходит?..

clwprogrammer

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

0 Ответов