Problème datagrid transparent

cs_flash007 Messages postés 11 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 21 septembre 2006 - 21 août 2006 à 14:12
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 21 août 2006 à 16:25
Bonjour,


Mon problème se situe au niveau de l'affichage d'un winform. J'ai 3 forms :


- Le Form1 est le MDIcontainer contenant les 2 autres forms.


- Le Form2 est créé automatiquement à l'ouverture du programme, celui-ci est classique : textbox à remplir + labels


http://www.image-dream.com/membre/up/flash007/form2.jpg


Je passe au 3e form en cliquant sur un bouton "Suivant" du Form2...


- Le form3, s'ouvre, il contient un datagrid reprenant les données du
dataset. Le problème vient de la mise en forme de ce datagrid. En
effet, sa taille varie beaucoup en fonction des données, je lui ai donc
mis un "Background-color" à transparent afin que l'utilisateur ne
puisse pas voir les contours de tout le datagrid s'il y a très peu de
données. Malheureusement, je n'obtiens pas le résultat escompté, le
fond transparent fait apparaître les textbox et labels du Form2 dans
mon tableau,  d'où un certains....."fouillis"


http://www.image-dream.com/membre/up/flash007/form3.jpg


Après de nombreuses, je n'ai pas réussi à résoudre le problème.Y'a t'il
une solution ? ou est-il possible de contrôler la taille du datagrid


Merci d'avance


Code utilisé : VB.NET

Version : VB 2003

OS : Windows 2000

3 réponses

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
21 août 2006 à 15:31
Bonjour,
Bien que je suis sous VB6, mais j ai une solution qui relève plutôt du bidouillage
que d' autre chose.
Sur ta form2, tu place un contrôle genre Frame ou Label ( et pourquoi pas une
Image ou PictureBox) dont tu choisi le BackColor.
Au départ il est invisible.Places le de façon à recouvrir les parties qui se voient à travers
le DataGrid de tonForm3.Lorsque tu charge ce dernier,tu le met à "visible".Lorsque tu le décharge tu remet ton contrôle à "Invisible".

En attendant mieux.

chaibat
0
cs_flash007 Messages postés 11 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 21 septembre 2006
21 août 2006 à 16:12
Pas mal comme astuce, je n'y avais pas pensé mais ça ne fonctionne pas comme prévu


Si j'initialise la picturebox ou le label en visible à l'affichage de la Form2 ça marche.


Par contre si je le mets en invisible à l'initialisation et que je la
passe en visible au moment du clic sur le bouton, les labels et textbox
apparaissent toujours dans le tableau...


Flash
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
21 août 2006 à 16:25
Rebonjour,
Il faut le rendre invisible
    avant l' instruction qui charge le Form3
et Invisible
   après le dechargement.

ça donnerait quelque chose comme ça :
(Je t' écrit ça en VB6. je ne sais pas comment ça se traduit en NET.)

  MaPicture.Visible=True
  Load Form3
    -----
    -----
Unload Form3
MaPicture.Visible=False

Ceci s' explique par le fait que lorsque tu charge Form3
Form2 n' est plus accessible.Elle ne le devient qu' après
le déchargement de Form3.

chaibat
0
Rejoignez-nous