+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 7 su 7

Discussione: textbox con sfondo trasparente

  1. #1
    SebastianoFloridia non è in linea Scolaretto
    Luogo
    Siracusa
    Post
    187

    textbox con sfondo trasparente

    Salve a tutti,
    vorrei usare un textbox con lo sfondo trasparente.
    Il componente base non prevede la trasparenza del backcolor.
    C'è altro modo per ottenere l'effetto trasparente?

    Grazie
    Sebastiano Floridia

  2. #2
    Sgrubak non è in linea Scolaretto
    Luogo
    Torrazza Piemonte
    Post
    389
    Hai provato ad assegnare alla proprietà BackColor, il BackColor del Parent della TextBox?

  3. #3
    SebastianoFloridia non è in linea Scolaretto
    Luogo
    Siracusa
    Post
    187
    Si, ma non si riesce.
    non lo porta nel textbox.


    Grazie
    Sebastiano Floridia

  4. #4
    Sgrubak non è in linea Scolaretto
    Luogo
    Torrazza Piemonte
    Post
    389
    Che strano... Ho fatto un test e funziona...
    codice:
    TextBox1.BackColor = TextBox1.Parent.BackColor
    Così assegni lo stesso colore del controllo sottostante ed è come se fosse trasparente...

  5. #5
    SebastianoFloridia non è in linea Scolaretto
    Luogo
    Siracusa
    Post
    187
    Scusami mi sono espresso malissimo e rappresentato il problema erroneamente.
    Il textbox non è applicato sul fondo del form, ma su una picturebox che racchiude un mondo grafico opengl la cui rappresentazione cambia sempre.

    Io cerco la trasparenza effettiva.
    L'immagine dietro può cambiare e vorrei che passasse sotto il textbox.

    Spero di essere stato chiaro.

    Saluti
    Sebastiano Floridia

  6. #6
    Sgrubak non è in linea Scolaretto
    Luogo
    Torrazza Piemonte
    Post
    389
    Allora è più complicato... O ti crei un controllo personalizzato che eredita da TextBox e fai l'override di OnPaint, oppure puoi pensare di sfruttare un "trucco":
    Crei una TextBox ed una Label sovrapposti. Mostri nella Label un testo segnaposto, imposti lo sfondo trasparente, e rendi invisibile la TextBox. Gestisci il click sulla Label, nascondendo la Label e mostrando la TextBox e dandole il focus. Nel LostFocus della TextBox ricopi il testo nella Label, nascondi la Textbox e mostri di nuovo la Label trasparente... Più facile a farsi che a dirsi in effetti. Vedi il bianco del BackGround solo un momento...

  7. #7
    u235 non è in linea Novello
    Post
    4
    Ciao,
    se stiamo parlando di window form un modo relativamente semplice è quello di assegnare alla TransparencyKey del form il colore di background dello stesso (tipo scegli un colore poco utilizzato verde lime), idem ai controlli che vuoi rendere con sfondo trasparente.
    Ora ovviamente è necessario rendere lo sfondo del form trasparente per poter rendere trasparente lo sfondo di un controllo, da li la necessità che lo sfondo del form sia tutto trasparente. Ma applicando una immagine di sfondo al form stesso, puoi creare il reale sfondo desiderato (che so del colore del controllo).

    EDIT:
    in realtà ho notato facendo una prova che non è necessario che lo sfondo del form sia trasparente. Lo sfondo trasparente nel ofrm lo usavo per dare una forma desiderata al form, ricordavo male.
    Ultima modifica di u235; 01-06-2020 17:15 

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi