Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    131

    PictureBox in primo piano - BringToFront non funge

    Ciao a tutti.
    Tramite codice creo una picturebox ad una certa cordinata (sopra un'altra picturebox) però va in secondo piano.
    Ho provato a metterla in primo piano da codice: BringToFront.. ma non funge, ho provato a mettere in secondo piano l'altra picturebox con: SendToBack, ma non funge, ho anche provato a mettere in secondo piano la picturebox, e mettere in primo piano la picturebox creata da codice sempre con: BringToFront, ma non funge.

    Ecco il codice che utilizzo per creare una picturebox

    codice:
    Dim pic As New PictureBox
            pic.BackgroundImage = My.Resources.sura_w
            pic.SizeMode = PictureBoxSizeMode.StretchImage
            pic.Location = New System.Drawing.Point(1200, 71)
            pic.Visible = True
            Me.Controls.Add(pic)

    Come posso risolvere?
    Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Direi che nel codice che hai postato non si vede proprio il BringToFront.

    Comunque ho fatto una prova, ho messo una picturebox su un form, gli ho assegnato una immagine, e poi ho copiato il tuo codice, alla fine ho aggiunto la riga
    codice:
    pic.BringToFront()
    ed ha funzionato perfettamente.
    Naturalmente ho dovuto cambiare le coordinate, per sovrapporre le due immagini, ma funziona molto bene.

    Sergio

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    131

    Funziona tutto tranne una coordinata

    Ho quasi risolto risolto il problema in questo modo:


    codice:
    Dim pic As New PictureBox
                    pic.BackgroundImage = Image.FromFile(Application.StartupPath & "\item\" & Codice & ".png")
                    pic.BackgroundImageLayout = ImageLayout.Stretch
                    pic.BackColor = Color.Black
                    pic.Location = New System.Drawing.Point(1151, 118)
                    pic.Visible = True
                       pic.BringToFront()
                    PictureBox1.SendToBack()
                    Me.Controls.Add(pic)
    Ho invertito i comandi:
    Prima PictureBox usaba BringToFront e pic usava SendToBack e non funzionaa.. li ho invertiti, sorge un problema, io ho usato un quarantina di coordinate, funzionano tutte, però alla coordinata 1198, 118 non funziona, ovvero la picturebox creata è in secondo piano rispetto alla picturebox, non capisco il perchè ho usato lo stesso codice.
    Ho provato ad intervire i valori soltanto per quella coordinata ma non funge, come posso risolvere?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Non hai letto bene quello che ti avevo scritto.
    Il comando pic.BringToFront() va messo DOPO il comando Me.Controls.Add(pic) altrimenti come fa ad eseguirlo se l'oggetto ancora non è sul form ??
    Il comando PictureBox1.SendToBack() non serve.

    Sergio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.