Sr Inovação Posted September 11, 2009 at 08:02 PM Report Share #286516 Posted September 11, 2009 at 08:02 PM 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 More sharing options...
ribeiro55 Posted September 11, 2009 at 08:51 PM Report Share #286525 Posted September 11, 2009 at 08:51 PM 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 More sharing options...
Sr Inovação Posted September 11, 2009 at 09:36 PM Author Report Share #286534 Posted September 11, 2009 at 09:36 PM 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 More sharing options...
gastao Posted September 11, 2009 at 09:48 PM Report Share #286537 Posted September 11, 2009 at 09:48 PM 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 More sharing options...
ribeiro55 Posted September 11, 2009 at 09:52 PM Report Share #286539 Posted September 11, 2009 at 09:52 PM 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. 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 More sharing options...
gastao Posted September 11, 2009 at 09:57 PM Report Share #286541 Posted September 11, 2009 at 09:57 PM 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 More sharing options...
ribeiro55 Posted September 11, 2009 at 09:59 PM Report Share #286542 Posted September 11, 2009 at 09:59 PM Continua a faltar a referência ao form. Form.BackgroundImage ou Me.BackgroundImage se for referência a ele próprio. 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 More sharing options...
gastao Posted September 11, 2009 at 10:12 PM Report Share #286543 Posted September 11, 2009 at 10:12 PM eu testei dessa maneira e funciona na boa Link to comment Share on other sites More sharing options...
ribeiro55 Posted September 11, 2009 at 10:14 PM Report Share #286544 Posted September 11, 2009 at 10:14 PM Ainda que funcione ou não, não é uma boa prática. 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 More sharing options...
gastao Posted September 11, 2009 at 10:16 PM Report Share #286545 Posted September 11, 2009 at 10:16 PM 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 Link to comment Share on other sites More sharing options...
Sr Inovação Posted September 11, 2009 at 11:46 PM Author Report Share #286560 Posted September 11, 2009 at 11:46 PM 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 More sharing options...
Pwyll Posted September 12, 2009 at 02:40 AM Report Share #286577 Posted September 12, 2009 at 02:40 AM 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 More sharing options...
scorch Posted September 12, 2009 at 10:02 AM Report Share #286593 Posted September 12, 2009 at 10:02 AM Usem o geshi. 🙂 PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now