Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Sr Inovação

colocar uma imagem como background no VB.net

Mensagens Recomendadas

Sr Inovação    4
Sr Inovação

Boa noite, tenho uma dúvida simples(acho eu...) sendo eu iniciante neste linguagem tenho estado a estudar através do Google foi então que resolvi fazer um programa para indo brincando e aprendendo ao mesmo tempo.

Este programa permite inserir um numero e saber se o mesmo é divisível por 3 , mas entretanto tive uma ideia,eu queria colocar uma imagem como background da form á escolha do utilizador(para isso é preciso ter um OpenFileDialog) para o utilizador poder escolher qual a imagem), mas não consigo colocar a imagem pretendida no background da form

Se me pudessem ajudar agradecia.

Obrigado  :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

E já tens o OpenFileDialog a ir buscar a imagem?

Se sim, podes perfeitamente criar uma instância da classe bitmap com o caminho para imagem como argumento no construtor.

Um dos overloads carrega a imagem a partir do caminho no disco.

Depois basta dar o bitmap à propriedade BackGroundImage do form.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sr Inovação    4
Sr Inovação

ribeiro55, eu fiz um context menu com a opção Mudar/Escolher imagem, que quando clicado nele chama o OpenFileDialog, e segundo eu percebi num outro post do P@P que era preciso primeiro definir o tipo de ficheiro a seleccionar mas isso eu descubro com o fazer,mas o meu problema é que não colocar como eu pretendo. 

Isso do overloads podes me explicar melhor ou dar o tutorial para que entenda melhor esse conceito(parece-me que têm haver o carregamento de dados neste caso as imagens).

Obrigado desde já.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
gastao    0
gastao

Deve ser mais ou menos algo assim do genero que tu queres:

With OpenFileDialog1
            .CheckFileExists = True
            .ShowReadOnly = False
            .Filter = "All Files|*.*|Bitmap Files (*)|*.bmp;*.gif;*.jpg"
            .FilterIndex = 2
            If .ShowDialog = DialogResult.OK Then
                 PictureBox1.Image = Image.FromFile(.FileName)
            End If

tens de ir ao picturebox e dizeres nas propriedades sizemode=StretchImage
        End With

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

Sim, com a classe Image também vais dar ao mesmo.

Só tens de ignorar ali a parte da picturebox e utilizar a BackgroundImage do form.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
gastao    0
gastao

sim o ribeiro55 tem razao mais facil ainda,

 With OpenFileDialog1
            .CheckFileExists = True
            .ShowReadOnly = False
            .Filter = "All Files|*.*|Bitmap Files (*)|*.bmp;*.gif;*.jpg"
            .FilterIndex = 2
            If .ShowDialog = DialogResult.OK Then
                BackgroundImage = Image.FromFile(.FileName)
            End If
        End With

esta ai ja corrigido... ribeiro se me puderes dar uma dica no meu topic q tou a nora

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
gastao    0
gastao

sim podera corrijir se dessa forma... tens razao...

                Me.BackgroundImage = Image.FromFile(.FileName)

podes me dar uma dica no meu topico que tou uma beca atrapalhado com valuemembers e displaymembers

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sr Inovação    4
Sr Inovação

Public Class frmForm1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        MsgBox("Este programa permite saber se um  número é divisivel por 3")
    End Sub

    Private Sub btnresult_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnresult.Click
        If (txtn.Text) = "" Then
            MsgBox("Introduza um numero divisiel por 3")
        ElseIf Val(txtn.Text) Mod 3 = 0 Then
            MsgBox("Este numero é divisivel por 3")
        Else
            MsgBox("Este numero não é divisivel por 3")
        End If
    End Sub
    Private Sub BtnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancelar.Click
        Me.Close()
    End Sub

    Private Sub btnColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnColor.Click
        cdlgcolor.ShowDialog()
        If Windows.Forms.DialogResult.OK Then
            Me.BackColor = cdlgcolor.Color
        End If
    End Sub
    Private Sub Cmnuchange_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs)

    End Sub

    Private Sub MudarImagemDeFundoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MudarImagemdeFundoToolStripMenuItem.Click
        OdlgAbrirImagem.ShowDialog()
    End Sub

    Private Sub cmnupropriForm_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles cmnupropriForm.Opening
   End Sub

    Private Sub OdlgAbrirImagem_FileOk(ByVal sender As System.Object, ByVal e As      System.ComponentModel.CancelEventArgs) Handles OdlgAbrirImagem.FileOk
        With OdlgAbrirImagem
            .CheckFileExists = False
            .ShowReadOnly = True
            .Filter = "All Files|*.*|Bitmap Files (*)|*.bmp;*.gif;*.jpg"
            .FilterIndex = 2
            If .ShowDialog = Windows.Forms.DialogResult.OK Then
                BackgroundImage = Image.FromFile(.FileName) 
                 Me.BackgroundImage = Image.FromFile(.FileName)  
            End If       
        End With
    End Sub
End Class

Eu resolvi colocar aqui o código para uma melhor ajuda acerca do que eu pretendo

Agora quando eu escolho uma imagem,o programa volta a pedir a imagem ,mas penso que devia colocar a imagem devido a esta linha de código  Me.BackgroundImage = Image.FromFile(.FileName) diga-me se estou errado, desculpem se estou a ser chato 

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Pwyll    0
Pwyll

Experimenta:

 

  Private Sub MudarImagemDeFundoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MudarImagemdeFundoToolStripMenuItem.Click
        With OdlgAbrirImagem
            .CheckFileExists = False
            .ShowReadOnly = True
            .Filter = "All Files|*.*|Bitmap Files (*)|*.bmp;*.gif;*.jpg"
            .FilterIndex = 2
            If .ShowDialog = Windows.Forms.DialogResult.OK Then
                Me.BackgroundImage = Image.FromFile(.FileName)
            End If
        End With
    End Sub

e apaga o resto dai para baixo.

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