1

我不知道要搜索什么关键字。

这是在我的应用程序的一个模块上。

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

现在我想在表单上使用它。所以当我点击Confirm

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

但它没有给我任何回报..我没有得到回应。我不知道如何编码,你能找出问题所在吗?

4

1 回答 1

0

解决方案应该很简单。不要在你的 Sub 中使用 byval,使用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
于 2014-03-04T07:53:13.803 回答