TRANSPARENCE TEXTBOX ET PICTUREBOX

Messages postés
129
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
23 mai 2009
- - Dernière réponse : cs_Le Pivert
Messages postés
6210
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 septembre 2019
- 17 mars 2009 à 18:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49500-transparence-textbox-et-picturebox

Afficher la suite 
alosamoelle
Messages postés
129
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
23 mai 2009
-
Trés sympa comme code.
cs_Le Pivert
Messages postés
6210
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 septembre 2019
86 -
Bonjour ALOSAMOELLE
Je te remercie de ton commentaire et de ta note.
Dans ma description, je me suis un peu embrouillé.
Tout ce qui aura la même couleur que la propriété TransparencyKey de la Form: Bouton, TextBox et PictureBox deviendront transparents. C'est pour cela qu'en mettant dans le bouton "Transparence"
TextBox1.BackColor = Color.White
PictureBox1.BackColor = Color.White
tout devient transparent car La propriété de la TransparencyKey est "White", vous pouvez mettre d'autres couleurs si vous le désirez.
@+ Le Pivert
gillardg
Messages postés
3288
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3 -
pratique pour faire un trou dans un Form :)
alamoa
Messages postés
7
Date d'inscription
mardi 14 mai 2002
Statut
Membre
Dernière intervention
26 juin 2009
-
Bonsoir, tres sympa en effet et evident ... (quand on le sait !!) moi ca fait 2 jours que je cherche !! en fait il y a un defaut:
les parties "transparentes" (comme le fond d'une text-box) ne sont pas selectionnables :

j'ai trouvé une autre façon de faire de la transparence en utilisant la fonction SetWindowLong qui ne pose pas ce probleme mais:
là le texte d'une textbox n'est pas redessiné : ca devient tres vite gribouillage ...
Dès que j'aurais résolu ce probleme je posterai un exemple
en attendant si quelqu'un trouve la solution pour cliquer sur un controles transparent et le selectionné au lieu de passer au travers...
Merci d'avance
alamoa
Messages postés
7
Date d'inscription
mardi 14 mai 2002
Statut
Membre
Dernière intervention
26 juin 2009
-
Oups j'ai oublié de noter : c'est pas sympa d'autant que ca merite au moins 8/10
Salut
cs_Le Pivert
Messages postés
6210
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 septembre 2019
86 -
Bonjour ALAMOA
Merci pour le commentaire et la note. C'est vrai les parties transparentes de la TextBox ne sont pas sélectionnables. Pour l'instant à défaut de code adapté, il faut se mettre sur le texte et attendre que la barre de saisie clignote pour pouvoir déplacer le Form, ce n'est pas la meilleure méthode.
@+ Le Pivert
alamoa
Messages postés
7
Date d'inscription
mardi 14 mai 2002
Statut
Membre
Dernière intervention
26 juin 2009
-
Bonjour,
j'ai un debut de solution peut etre : au moins pour se mettre en saisie dans la text-box sans cliquer dedans juste en survolant le texte :
ajouter cela :

Private Sub TextBox1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.MouseHover
TextBox1.Focus()
My.Computer.Keyboard.SendKeys("{RIGHT}")
End Sub

cela positionne le curseur a la suite du texte et il n'y a plus qu'a ecrire
mais il doit y avoir une autre solution
je cherche
A plus
cs_Le Pivert
Messages postés
6210
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 septembre 2019
86 -
Bonjour ALAMOA,
Dans le même genre il y a aussi cela:
Private Sub TextBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.MouseEnter
TextBox1.BackColor = Color.Gainsboro
End Sub
Private Sub TextBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.MouseLeave
TextBox1.BackColor = Color.White
TextBox1.ForeColor = Color.Red
End Sub
Il suffit d'attendre 1 seconde que cela s'opacifie, tu déplaces et ensuite quand tu enlèves la souris cela devient transparent( ce n'est pas très lumineux comme solution)
@+ Le Pivert
cs_Le Pivert
Messages postés
6210
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 septembre 2019
86 -
Une autre méthode:
Private Sub TextBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.MouseEnter
If TextBox1.BackColor = Color.White Then
Me.Cursor = Cursors.Hand
TextBox1.Capture = True
End If
End Sub
Lorsque l'on positionne la souris sur le texte, la flèche se transforme en main et vous pouvez à ce moment déplacer le Form. Fonctionne très bien sur des ARPlans foncés, mais c'est plus difficile sur le blanc.