none
Criar Propriedade com ImageList RRS feed

  • Pergunta

  • Boa tarde.

    Estou criando um UserControl com uma imagem. (Header de Relatório).

    Entretanto, essa imagem pode ser alterada conforme a intenção do programado, mas essa alteração deve ser feita através de uma lista de opções.

    Ou seja, quero dar ao programador opções de imagens para esse header.

    Estou tentando usar o ImageList para armazenar essas imagens dentro do componente, mas estou com dificuldade de listar essas imagens em uma propriedade para que o usuário selecione.

    EXEMPLO: -------------------------------------------------------------------------------------------

        Public Property ImagemHeader As Image
            Get
                Return img.BackgroundImage
            End Get
            Set(ByVal value As Image)
                img.BackgroundImage = value
            End Set
        End Property

    Entretanto, quero que nessa propriedade, apareça uma lista de opções, e não a caixa de dialogo para o programador selecionar uma imagem na máquina.

    ---------------------------------------------------------------------------------------------------------

    Se alguém souber, obrigado.



    LFBit

    quinta-feira, 24 de janeiro de 2013 13:54

Todas as Respostas

  • ImagemHeader é uma ImageList?

    Thiago Coelho - Líder das Comunidades .NET Coders e Windows 8 Brasil
    thiagocoelho.net | @thiagokoelho

    quinta-feira, 24 de janeiro de 2013 16:04
  • Na verdade,

    essa propriedade deveria ser como a ImageKey quando incluímos uma image liste em um botão.

    É esse tipo de propriedade que quero replicar para meu componente.


    LFBit

    quinta-feira, 24 de janeiro de 2013 16:21
  • Como está a ImageList em seu componente? Queria saber que é o tipo real de ImagemHeader.

    Thiago Coelho - Líder das Comunidades .NET Coders e Windows 8 Brasil
    thiagocoelho.net | @thiagokoelho

    quinta-feira, 24 de janeiro de 2013 16:46
  • Eu criei um UserControle chamado HeaderForm, que será usado como Cabeçalho padrão dos formulários.

    Dentro Dele eu incluí uma caixa de imagem e um ImageList(Ambos componentes padrões do vb.)

    Dentro do ImageList, selecionei algumas imagens de teste.

    Não criei ainda a propriedade ImagemHeader, eu estou tentando criar.

    Como eu vou disponibilizar esse UserControl para outros usuários da empresa (Para padronizarmos) quero criar algumas variáveis para que possam ser usadas.

    Quando o programador for utilizar as propriedades do UserControl, ele deve ver uma propriedade chamada ImagemHeader. Nessa propriedade deve haver uma Lista, e essa lista deve alterar a imagem do objeto "caixa de imagem" dentro do UserControl.

    Eu não sei se consegui explicar bem o que estou querendo.


    LFBit

    quinta-feira, 24 de janeiro de 2013 16:55
  • Entendi, o problema aí é que essa propriedade seta diretamente um objeto Image, como vc está setando a propriedade no código?

    Thiago Coelho - Líder das Comunidades .NET Coders e Windows 8 Brasil
    thiagocoelho.net | @thiagokoelho

    quinta-feira, 24 de janeiro de 2013 17:00
  • Não sei te dizer.

    Pois não sei como fazer essa propriedade.

    O Código de propriedade que eu postei foi apenas um exemplo. Exemplo que não funciona.

    Eu quero justamente fazer uma propriedade que funcione como descrevi.


    LFBit

    quinta-feira, 24 de janeiro de 2013 17:06
  • OK, mas como não funcionou, quais testes você já fez passando um "Image" para essa propriedade?

    Thiago Coelho - Líder das Comunidades .NET Coders e Windows 8 Brasil
    thiagocoelho.net | @thiagokoelho

    quinta-feira, 24 de janeiro de 2013 17:08
  • Segue exemplo abaixo de como uso para que o programador selecione uma imagem na máquina.

        Public Property ImagemDeFundo As Image
            Get
                Return img.BackgroundImage
            End Get
            Set(ByVal value As Image)
                img.BackgroundImage = value
            End Set
        End Property

    Nessa Propriedade, consigo alterar a imagem de fundo do objeto "img".

    Esse é o mais próximo que consegui.


    LFBit

    quinta-feira, 24 de janeiro de 2013 17:15