【问题标题】:cast string to ToolStripMenuItem in vb.net将字符串转换为 vb.net 中的 ToolStripMenuItem
【发布时间】:2015-08-20 00:23:41
【问题描述】:

我想使用DirectCast 函数将字符串转换为ToolStripMenuItem。我的代码是:

   Dim ParentMenu As ToolStripMenuItem = 
       DirectCast(ComboBox1.SelectedItem, ToolStripMenuItem)

但它会引发以下错误

无法将“System.String”类型的对象转换为类型 'System.Windows.Forms.ToolStripMenuItem'。

【问题讨论】:

  • 你已经开始工作了吗?

标签: vb.net


【解决方案1】:

您不能将字符串转换为 ToolStripMenuItem,因为字符串 不是 ToolStripMenuItem 的简单事实! DirectCast 函数需要两个对象之间的某种关系(如继承)才能工作。这意味着两个对象之一必须与另一个具有相同的类型,或者其中一个必须继承或实现另一个。

了解有关 DirectCast 的更多信息:https://msdn.microsoft.com/en-us/library/7k6y2h6x.aspx

如果你想在一行中完成:

Dim ParentMenu As New ToolStripMenuItem(ComboBox1.SelectedItem.ToString())

您还需要使用 .ToString()CStr(),因为 ComboBox1.SelectedItem 作为对象返回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多