Получить DialogResult из общедоступного Sub (Модуль)
Я не знаю, какое ключевое слово для поиска.
Это на модуле в моем приложении.
Public Sub msgYNC(ByVal result As DialogResult)
result = MessageBox.Show("Are you sure you want to save and continue?", "RM Farms Confirmation", _
MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
End Sub
Теперь я хочу использовать его в форме. Поэтому, когда я нажимаю на Подтвердить:
Dim result As DialogResult
msgYNC(result)
If result = Windows.Forms.DialogResult.Yes Then
'yes
ElseIf result = Windows.Forms.DialogResult.No Then
'n
ElseIf result = Windows.Forms.DialogResult.Cancel Then
'ca
End If
Но это ничего мне не возвращает.. Я не получаю ответ. Я не уверен, как это кодировать, вы можете определить, что не так?
1 ответ
Решение
Решение должно быть довольно простым. Не используйте byval в вашем Sub, используйте byref
Public Sub msgYNC(ByRef result As DialogResult)
result = MessageBox.Show("Are you sure you want to save and continue?",
"RM Farms Confirmation", _
MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
End Sub
не могли бы вы попробовать это?
Хотя вы можете использовать следующую структуру (если вы хотите, чтобы в вашем sub-method msgYNC
)
Select Case MessageBox.Show("", "", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
Case Windows.Forms.DialogResult.Yes
'Do something
Case Windows.Forms.DialogResult.No
'Do something else
Case Windows.Forms.DialogResult.Cancel
'Cancel something
Case Else
'Do something unusefull
End Select