VB.net, как получить общедоступный общий контент обновляется из внешней формы - PullRequest
0 голосов
/ 25 апреля 2019

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

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

С моим текущим кодом сообщение, которое пишется в моей командной строке, называется «acad.ctb» независимо от того, что я выбираю в выпадающем списке.

'Мой класс, в котором находятся саб и часть саба

Public Shared CTBName As String = "acad.ctb"

<CommandMethod("REPublish")>
Public Sub PublishAllLayouts()

    'add the data set to the Combobox in the windows form
    For Each item In AcCtb
        PlotSettingSelect.CmbAcCTB.Items.Add(item)
    Next

    PlotSettingSelect.Show()

    'CTBName = PlotSettingSelect.CmbAcCTB.
    acEd.WriteMessage(CTBName)

End Sub

'мой класс, в котором находится WinForm

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Class1.CTBName = CmbAcCTB.Text

    Me.Close()

End Sub

Что мне нужно: после нажатия кнопки в форме Windows значение, выбранное пользователем в поле со списком, должно быть сохранено в: «Public Shared CTBName as string»

1 Ответ

1 голос
/ 25 апреля 2019

Я не уверен на 100%, что правильно понял вопрос, но мне кажется, что вы вызываете 'acEd.WriteMessage (CTBName)' сразу после показа формы, прежде чем пользователь когда-либо успел изменить значение в выпадающем списке, который вы создали.

Вы можете использовать «ShowDialog» вместо «Show», чтобы заблокировать выполнение, пока пользователь не ответит, или переместить «acEd.WriteMessage (CTBName)» в обработчик событий щелчка кнопки, в зависимости от того, какое поведение вы хотите.

...