|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Nov 2009
Messaggi: 15
|
[VB.NET] Picture in un form MDI
Buongiorno a tutti quanti,
dovrei inserire un immagine come sfondo di un form settato come MDI CONTAINER. Ho creato un picturebox e la metto come sfondo, il problema è che quanto apro un form figlio l'immagine mi rimane in primo piano sopra il form aperto. Ho provato con SendToBack ma così l'immagine sparisce del tutto. Ho provato a mettere l'immagine con sfondo del form, ma essendo mdi container non me la visualizza e mi fa vedere solo il classico sfondo grigio. Vi prego aiutatemi. Vi ringrazio saluti Francesco |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Strano. Sicuro di aver usato il codice corretto ?
Se Form1 è di avvio del Progetto e di tipo MDI, e Form2 è child di Form1 : > Immagine sfondo su avvio di Form1 : Codice:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.BackgroundImage = Image.FromFile(Application.StartupPath & "\sfondo.bmp")
Me.BackgroundImageLayout = ImageLayout.Center
End Sub
Codice:
Dim Frm2 As New Form2
Frm2.MdiParent = Me
Frm2.Show()
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Nov 2009
Messaggi: 15
|
Buongiorno, grazie per la celere risposta.
Caricando l'immagine tramite codice, come hai detto tu, va tutto bene. Grazie. Quando invece carico l'immagine nelle proprietà del form, l'immagine non si vede proprio. E invece inserendo la picturebox questa mi rimane sempre in primo piano_!! BAH cmq adesso ho risolto. Grazie tante!! |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Personalmente non trovo consigliabile mettere controlli ( pulsanti, picturebox, ecc... ) direttamente sulla Form MDI, che uso solo come Form-container-principale dell'applicazione. Buona cosa è invece mettere il menu principale dell'applicazione su Form MDI. Un'alternativa valida è quella di inserire una "Form di sfondo", senza bordi nè controlbox, che copre tutta la client area della MDI. A questa Form di sfondo si possono aggiungere tutti i controlli e le immagini che si desiderano, e staranno in secondo piano rispetto alle successive Form figlie : Perciò sul Form Load della MDI avremo : Codice:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim FrmSfondo As New Form_Sfondo
FrmSfondo.BackgroundImage = Image.FromFile(Application.StartupPath & "\sfondo.bmp")
FrmSfondo.BackgroundImageLayout = ImageLayout.Center
FrmSfondo.MdiParent = Me
FrmSfondo.FormBorderStyle = Windows.Forms.FormBorderStyle.None
FrmSfondo.Width = Me.ClientSize.Width - (SystemInformation.Border3DSize.Width * 2)
FrmSfondo.Height = Me.ClientSize.Height - (SystemInformation.Border3DSize.Height * 2)
FrmSfondo.Show()
End Sub
Codice:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Frm2 As New Form2
Frm2.MdiParent = Me.MdiParent
Frm2.Show()
End Sub
|
|
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Nov 2009
Messaggi: 15
|
La secondo è una soluzione un po laboriosa. Cmq ho risolto adattandomi il logo con Photoshop e l'ho messo come sfondo come dicevi prima, ed il risultato pè perfetto!!
Grazie tante ancora. p.s. Il forum è davvero ottimo, ogni volta riuscite a trovare la soluzione!! |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Catania
Messaggi: 2696
|
Salve ragazzi,
riporto su questo vecchio thread ma ho un problema simile che vi espongo. Ho un form MDI (Me) che successivamente al suo carimento lancia un form (frmMain) al suo interno. Nel form MDI ho inserito una PictureBox che nell'evento Load del form MDI mi carica una immagine. Il tutto avviene perfettamente ma il secondo form non viene caricato. Se elimino le righe di codice relative il caricamento dell'immagine nella PictureBox il secondo form viene caricato: Con caricamento immagine: ![]() Come dovrebbe essere: ![]() Senza caricamento immagine: ![]() Questo il codice: Codice:
Private Sub MDIfrmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim FileName As String
FileName = Application.StartupPath & "\Logo1.bmp"
picLogo1.Visible = False
' Load the picture into a Bitmap.
Dim MyBitmap As New Bitmap(FileName)
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.WindowState = FormWindowState.Maximized
picLogo1.Height = Me.Height
picLogo1.Width = Me.Width
' Display the results.
picLogo1.Image = MyBitmap
picLogo1.SizeMode = PictureBoxSizeMode.StretchImage
picLogo1.Visible = True
frmMain.MdiParent = Me
frmMain.Show()
End Sub
Codice:
picLogo1.Image = MyBitmap
picLogo1.SizeMode = PictureBoxSizeMode.StretchImage
picLogo1.Visible = True
__________________
Unisciti a noi: http://www.swproduction.altervista.org/ - http://www.enews.altervista.org/
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:03.























