Чтобы завершить вышеупомянутое сообщение с этим сообщением на форуме MSDN , вот ответ VB.Net:
Получите расширение IPictureDisp
Dim MyMso As String = "FileFind"
Dim MyIPicture As stdole.IPictureDisp = Globals.ThisAddIn.Application.CommandBars.GetImageMso(MyMso, 16, 16)
преобразовать в Drawing.Image
<System.Runtime.CompilerServices.Extension()>
Function GetImage(MyIPicture As stdole.IPictureDisp) As Drawing.Image
If CType(MyIPicture.Type, Integer) = 1 then
Return = Drawing.Image.FromHbitmap(MyIPicture.Handle, MyIPicture.hPal)
else
Throw New ArgumentException("Image not supported.")
End If
End Function
Назначить элементу управления
Dim MyButton As New Button
MyButton.Image = MyIPicture.GetImage
Примечание: я понятия не имею, почему требуется If CType(MyIPicture.Type, Integer) = 1
.Любое понимание приветствуется!Кроме того, тот же пост относится к System.Windows.Forms.AxHost
, но, похоже, нигде его не использует?