如何在 vb.net 中使用字符串变量设置消息框图标

How to set messagebox icon using a string variable in vb.net

我一直在尝试让程序打开一个消息框,该消息框的图标由字符串变量标识,但我不知道如何操作!我试过用这样的东西

MessageBox.Show("Message here", _
    "Message", _
    MessageBoxButtons.YesNoCancel, _
    MessageBoxIcon. + IconVariable)

但它给了我错误: 'MessageBoxIcon'是类型,不能作为表达式使用。

我根据@GSerg 在评论中建议的 link 创建了一个函数。

Private Function GetIconEnum(s As String) As MessageBoxIcon
    Dim icon As MessageBoxIcon
    Try
        icon = DirectCast([Enum].Parse(GetType(MessageBoxIcon), s), MessageBoxIcon)
    Catch ex As Exception
        Return MessageBoxIcon.None
    End Try
    Return Icon
End Function

Private Sub OPCode()
    Dim IconVariable As String = "Question"
    MessageBox.Show("Message here", "Message", MessageBoxButtons.YesNoCancel, GetIconEnum(IconVariable))
End Sub