Usuário com melhor resposta
Erro na chamada da Imagem

Pergunta
-
Como posso corrigir o erro abaixo, inseri as imagens de duas maneiras e ambas dá o mesmo erro.
1. Add Existing Item;
2. Add Resource\Add Existing File.
System.InvalidOperationException was unhandled
Message="Erro ao criar o formulário. Consulte Exception.InnerException para obter detalhes. O erro é: O recurso 'skin.bmp' não pode ser encontrado na classe 'TaskBar.frmMessage'."InitializeComponent()
'Add any initialization after the InitializeComponent() call taskbarNotifier1 = New TaskBarNotifier()taskbarNotifier1.SetBackgroundBitmap(
New Bitmap(MyClass.GetType(), "skin.bmp"), Color.FromArgb(255, 0, 255))taskbarNotifier1.SetCloseBitmap(
New Bitmap(MyClass.GetType(), "close.bmp"), Color.FromArgb(255, 0, 255), New Point(185, 4))taskbarNotifier1.TitleRectangle =
New Rectangle(5, 3, 180, 15)taskbarNotifier1.TextRectangle =
New Rectangle(5, 20, 190, 100)
Respostas
-
Adicione a image (Add existing Item), a selecione no Solution Explorer e na janela de propriedades selecione "Embedded Resource" na propriedade Build Action. Em seguida use um código como o abaixo para carregar a imagem:
Dim Asm As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
Dim imgagem As Image = New Bitmap(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(Asm.GetName().Name + ".SuaImagem.bmp"))Note o ponto antes do nome da imagem; não o retire.
-
Oi Angus,
Inseri a imagem através de Add Existing Item e mudei sua propriedade Build Action para Embedded Resource, deu o seguinte erro:
System.InvalidOperationException was unhandled
Message="Erro ao criar o formulário. Consulte Exception.InnerException para obter detalhes. O erro é: O valor 'null' não é válido para 'stream'.InitializeComponent()
'Add any initialization after the InitializeComponent() call
Dim Asm As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly() Dim imgagem As Image = New Bitmap(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(Asm.GetName().Name + ".Skin.bmp"))taskbarNotifier1 =
New TaskBarNotifier()taskbarNotifier1.SetBackgroundBitmap(imgagem, Color.FromArgb(255, 0, 255))
...
Resolvi o problema inserindo a imagem através de Add Resource\Add Existing File, mudando sua propriedade Build Action para Embedded Resource e continuei utilizando o código que havia postado.
taskbarNotifier1.SetBackgroundBitmap(New Bitmap(MyClass.GetType(), "skin.bmp"), Color.FromArgb(255, 0, 255))
Mais uma vez obrigado. Problema resolvido.
Todas as Respostas
-
Adicione a image (Add existing Item), a selecione no Solution Explorer e na janela de propriedades selecione "Embedded Resource" na propriedade Build Action. Em seguida use um código como o abaixo para carregar a imagem:
Dim Asm As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
Dim imgagem As Image = New Bitmap(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(Asm.GetName().Name + ".SuaImagem.bmp"))Note o ponto antes do nome da imagem; não o retire.
-
Oi Angus,
Inseri a imagem através de Add Existing Item e mudei sua propriedade Build Action para Embedded Resource, deu o seguinte erro:
System.InvalidOperationException was unhandled
Message="Erro ao criar o formulário. Consulte Exception.InnerException para obter detalhes. O erro é: O valor 'null' não é válido para 'stream'.InitializeComponent()
'Add any initialization after the InitializeComponent() call
Dim Asm As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly() Dim imgagem As Image = New Bitmap(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(Asm.GetName().Name + ".Skin.bmp"))taskbarNotifier1 =
New TaskBarNotifier()taskbarNotifier1.SetBackgroundBitmap(imgagem, Color.FromArgb(255, 0, 255))
...
Resolvi o problema inserindo a imagem através de Add Resource\Add Existing File, mudando sua propriedade Build Action para Embedded Resource e continuei utilizando o código que havia postado.
taskbarNotifier1.SetBackgroundBitmap(New Bitmap(MyClass.GetType(), "skin.bmp"), Color.FromArgb(255, 0, 255))
Mais uma vez obrigado. Problema resolvido.