Nevermind there was no need I just used DrawImage instead, here is the somewhat final code:
VB Code:
  1. Private Function AppendShortcut(ByVal mItem As MenuItem) As String
  2.         Dim s As String
  3.         s = mItem.Text
  4.         ' Check to see if you have a shortcut If so, append it to your existing text  
  5.         If mItem.ShowShortcut And mItem.Shortcut <> Shortcut.None Then
  6.             Dim k As Keys = CType(mItem.Shortcut, Keys)
  7.             s = s & Convert.ToChar(9) & _
  8.                 System.ComponentModel.TypeDescriptor.GetConverter(GetType(Keys)).ConvertToString(k)
  9.         End If
  10.         Return s
  11.     End Function
  12.  
  13. Private Sub DrawIMenu(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles MenuItem2.DrawItem
  14.         e.DrawBackground()
  15.         Dim G As Graphics = e.Graphics
  16.         Dim X As Integer = 25 'Offset text past icon
  17.         Dim Y As Integer = 1 '9 'Center text in menuitem
  18.         Dim brhText As New SolidBrush(SystemColors.MenuText)
  19.         Dim brhBack As New SolidBrush(SystemColors.Menu)
  20.         Dim sf As StringFormat
  21.         sf = New StringFormat()
  22.         sf.HotkeyPrefix = Drawing.Text.HotkeyPrefix.Show
  23.  
  24.         'test for selected
  25.         If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
  26.             brhText.Color = SystemColors.HighlightText
  27.             brhBack.Color = SystemColors.Highlight
  28.         End If
  29.  
  30.         G.FillRectangle(brhBack, e.Bounds)
  31.         G.DrawRectangle(System.Drawing.Pens.Transparent, e.Bounds)
  32.         G.DrawImage(icoList.Images(1), 3, 1)
  33.         G.DrawString(AppendShortcut(sender), SystemInformation.MenuFont, brhText, e.Bounds.X + X, e.Bounds.Y + Y, sf)
  34.         brhText.Dispose()
  35.         brhBack.Dispose()
  36.         sf.Dispose()
  37.     End Sub