Текущий код создает экземпляр FCreateOrder (вместе с его элементами управления), а затем использует этот экземпляр для установки значения для txtClient. Но этот новый экземпляр не тот, который вызвал форму с выбором клиента. Это тот экземпляр, который должен быть обновлен с выбранным текстом.
Вы можете передать правильный экземпляр внутри формы с выбором клиента в точной точке, где вы создаете форму клиента.
....
Dim formClient as FClientSelection = new FClientSelection(Me)
formClient.ShowDialog()
...
Экземпляр Me передается в конструктор FClientSelection, и вы можете сохранить его в локальной переменной
Dim currentOrder as FCreateOrder
Public Sub FClientSelect(fOrder As FCreateOrder)
currentOrder = fOrder
End Sub
, наконец, вы используете currentOrder для вызова метода, исправляющего текст клиента
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
If selectedRow Is Nothing Then
MessageBox.Show("Error.")
Else
Me.Close()
currentOrder.getClientObject(objClient)
End If
End Sub
Сказал, что я хочу, чтобы вы рассмотрели, как эти два класса форм неразрывно связаны. Это не хороший дизайн. Лучше использовать свойство publi c внутри formClient и установить это свойство внутри формы перед ее закрытием. Ваша форма вызова может прочитать это свойство и выполнить его работу.