Jump to content

colocar uma imagem como background no VB.net


Sr Inovação
 Share

Recommended Posts

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  🙂

Link to comment
Share on other sites

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.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

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á.

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.