Problème datagrid transparent

Signaler
Messages postés
11
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
21 septembre 2006
-
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
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

Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
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
Messages postés
11
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
21 septembre 2006

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
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
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