Ir para o conteúdo
joaogomes

como guardar uma imagem de fundo nos settings

Mensagens Recomendadas

joaogomes    1
joaogomes

Bom dia. Tenho o seguinte código para mudar o fundo duma aplicação:

Private Sub AlterarOFundoDaAplicaçãoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AlterarOFundoDaAplicaçãoToolStripMenuItem.Click
        Dim FolderDialog3 As New OpenFileDialog
        If FolderDialog3.ShowDialog = Windows.Forms.DialogResult.OK Then
            Try
                BackgroundImage = New System.Drawing.Bitmap(FolderDialog3.FileName)

                MsgBox("Alteração do fundo da aplicação realizada com Sucesso.", MsgBoxStyle.Information)
                My.Settings.fundo = FolderDialog3.FileName
                My.Settings.Save()

            Catch ex As Exception

                MsgBox("Erro ao fazer a alteração do fundo da aplicação.Tente novamente.", MsgBoxStyle.Critical, "Erro")

            End Try
        Else
            MsgBox("Alteração do fundo da aplicação cancelada.", MsgBoxStyle.Information)
        End If
    End Sub

E de facto altera, mas depois quando reinicio a aplicação, esta não fica com o fundo alterado, mas sim com o antigo.Alguém me pode ajudar?Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bioshock    170
bioshock

Não. Eu perguntei-te sobre o código que estás a utilizar para ler quando inicias o teu formulário e atribuir a imagem de fundo que está nos Settings ao fundo do teu formulário.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bioshock    170
bioshock

(...) mas depois quando reinicio a aplicação, esta não fica com o fundo alterado, mas sim com o antigo.Alguém me pode ajudar?Obrigado

Ou seja, estás a colocar esse código que me disseste no Form_Load() ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bioshock    170
bioshock

Bem, o que pode acontecer é que podes ter que gravar esse campo como array de bytes, como acontece quando se insere uma imagem numa base de dados.

Infelizmente agora não te posso testar isso porque não estou em casa, se não dava-te já um exemplo, mas vê este link: http://windevblog.blogspot.com/2008/08/convert-image-to-byte-array-and-vice.html

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bioshock    170
bioshock

Porque é que não guardas simplesmente a localização?

        ' Devolver imagem
        Me.BackgroundImage = Image.FromFile(My.Settings.img)
        ' Colocar imagem
        My.Settings.img = FileDialog.FileName

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
joaogomes    1
joaogomes

O problema se calhar está no modo como se guarda nos settings. Eu tenho o tipo de dados string, para guardar o caminho da imagem.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bioshock    170
bioshock

O que é que eu te disse no outro post?

Bem, o que pode acontecer é que podes ter que gravar esse campo como array de bytes, como acontece quando se insere uma imagem numa base de dados.

Mesmo assim, guardar uma imagem nos Settings não me parece boa ideia. Os Settings tendem a ser simplistas e de fácil acesso para conteúdos pequenos.

E, aliás, a localização basta-te para o que pretendes.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade