无法在上下文菜单中将图像加载为图标

时间:2014-02-19 09:51:11

标签: vb.net contextmenu toolstripmenu toolstripdropdown

我正在尝试使用以下链接中的代码:

VB- Helper Create menu items at run time with images, shortcut keys, and event handlers in Visual Basic .NET

唯一的区别是我想要一个本地图像而不是my.Recources

中的图像

我所拥有的是以下内容:

    ''Tool 2 displays a string and image.
    Dim tool2 As New ToolStripMenuItem("Tool 2", (Image.FromFile("C:\test\icon.jpg")))
    tool2.Name = "mnuToolsTool2"
    tool2.ShortcutKeys = (Keys.D2 Or Keys.Control) ' Ctrl+2
    AddHandler tool2.Click, AddressOf mnuTool2_Click
    ToolStripMenuItem1.DropDownItems.Add(tool2)

1 个答案:

答案 0 :(得分:0)

我无法重现这个“错误”。但是,根据给定的文本,代码和链接,我最好的猜测如下:

  1. 您使用的是64位计算机。
  2. 您在Form.Load事件中运行代码。
  3. 此方法中出现错误。
  4. Private Sub _Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'Code...
        Throw New Exception("ooops..")
        'Code...
    End Sub
    

    您可能知道系统“吞下”64位计算机上Form.Load引发的错误。

    有关详细信息,请阅读此SO帖子:Why the form load can't catch exception?

    您应该在构造函数中移动代码:

    Public Sub New()
        Me.InitializeComponent()
        'Code goes here...
    End Sub
    

    或更改为Form.Shown事件:

    Private Sub _Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
        Try
            'Code goes here...
        Catch ex As Exception
            MessageBox.Show(ex.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub