Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : La Combobox invisible ! [ Windows / Formulaire / Winforms / Controls ] (oo7jb5)

mardi 22 juillet 2008 à 17:25:11 | La Combobox invisible !

oo7jb5

Bonjour,

Je suis en train de réaliser une application (codée en Vb.net sous visual studio 2008), cette dernière est divisée en trois couches (DAL, DAO et interface). Dans l'interface, j'ai une datagridview qui me permet d'afficher des lignes d'une table de ma base de données,  ainsi je souhaite pouvoir modifier ces données. Pour mettre à jour les données de ma table, je veux créer autant de textbox, combobox ... que de colonne. Les combobox étant utilisée afin d'afficher des valeures imposées. J'ai réussi à créer autant de textbox que de colonnes du datagridview. Cependant pour ce qui est des combobox (valeures fixées dépendantes d'autres tables), je les ai crées directement dans l'interface et je les ai cachées avec la fonction visible= false dans la form_load. Mon problème est le suivant lorsque je recherche les combobox que je dois afficher (visible =true), ces dernières ne s'affichent pas. La variable visible reste à false !

Voici le code :
------------------------------------------------------------------------------------------------------------------------------------
'Déclaration de la variable permettant de récupérer un controle correspondant à une colonne de la table.
Dim controlFound As System.Windows.Forms.ComboBox = Nothing
            controlFound = CType(Controls.Item(datagridV.Columns(datagridV.CurrentRow.Cells(i).ColumnIndex).HeaderText), ComboBox)

            'Si on trouve un controle correspondant
            If (controlFound IsNot Nothing) Then
                controlFound.Visible = True
            Else
             [----]
------------------------------------------------------------------------------------------------------------------------------------
Les contrôles sont bien détectés à chaque fois mais n'apparaissent pas dans l'interface. Pouvez-vous m'aider à résoudre mon problème, j'ai tenté beaucoup de choses mais sans succès. Merci d'avance.

Julien


mardi 22 juillet 2008 à 17:44:19 | Re : La Combobox invisible !

gillardg

Réponse acceptée !

ComboBox1.Show()



Il n'y a que les gens qui ne font rien, qui ne font pas d'erreur

/B>

mardi 22 juillet 2008 à 19:59:26 | Re : La Combobox invisible !

oo7jb5

Merci, je vais tester cela demain matin car là j'ai pas le code sur moi. Bonne soirée et @+.

mercredi 23 juillet 2008 à 08:13:00 | Re : La Combobox invisible !

oo7jb5

Bonjour,

J'ai essayé comme tu m'as dit gillardg mais cela ne marche toujours pas, ma combobox n'apparait toujours pas. Si tu as une autre solution, je suis preneur. Merci déjà pour l'aide que tu m'as apporté.

Ce que je ne comprends pas, c'est que lorsque j'execute en mode debug en pas à pas, controlFound.Visible = True ne passe jamais à True, il semble comme figé à False, de plus si j'essaye de le modifier grâce au débuggeur et bien là encore c'est un échec. Je ne comprends vraiment pas.

mercredi 23 juillet 2008 à 08:39:27 | Re : La Combobox invisible !

Renfield

Administrateur CodeS-SourceS
Réponse acceptée !
ton controle est il bien placé ?
n'est-il pas sous un autre controle ?

mercredi 23 juillet 2008 à 08:43:38 | Re : La Combobox invisible !

oo7jb5

Mon contrôle est sur ma form, il n'y a rien d'autre, alors je ne penses pas qu'il soit caché par un autre élément, d'ailleurs si je les affiches du début et bien je n'ai aucun problème. Je viens de ressayer en les cachant avec la fonction Hide dans le formload puis en utilisant show pour les faire apparaitre mais rien n'y fait.

mercredi 23 juillet 2008 à 09:09:57 | Re : La Combobox invisible !

oo7jb5

Réponse acceptée !
Bon eh bien je viens de trouver une solution, je ne sais pas pourquoi mais apparemment il faut que je mettes tous les combobox que je veux cacher au début de ma fonction qui parcourt ma Datagrid afin de créer et afficher mes textbox et combobox. Ensuite je peux enfin afficher comme je l'entends mes éléments. C'est vraiment bizarre que cela marche comme cela et pas comme avant.

Mon code est donc le suivant maintenant :
--------------------------------------------------------------------------------
Public Sub CreateTextBox(ByVal datagridV As DataGridView)

        SysID.Visible = False
        SubFamID.Visible = False
        MayID.Visible = False
        CttID.Visible = False
        MatID.Visible = False
        LanID.Visible = False
        EqmID.Visible = False
        FamID.Visible = False

        Dim top, i As Integer
        Dim numeroTextBox As Integer
        Dim textBoxName, labelName As String

        top = 100

        numeroTextBox = 1

        For i = 0 To datagridV.ColumnCount - 1
            Dim controlFound As System.Windows.Forms.ComboBox = Nothing
            controlFound = CType(Controls.Item(datagridV.Columns(datagridV.CurrentRow.Cells(i).ColumnIndex).HeaderText), ComboBox)

            'Si un controle a été trouvé, on le fait apparaitre
            If (controlFound IsNot Nothing) Then
                controlFound.Visible = True
            Else
                'Création des textBox et labels
                Dim tbox As New System.Windows.Forms.TextBox()
                Dim label As New System.Windows.Forms.Label()

                'Remplissage du label et du textbox
                labelName = "Label" & numeroTextBox
                textBoxName = "TextBox" & numeroTextBox
                label.Name = labelName
                tbox.Name = textBoxName
                tbox.Text = datagridV.CurrentRow.Cells(i).Value.ToString
                label.Text = datagridV.Columns(datagridV.CurrentRow.Cells(i).ColumnIndex).HeaderText

                'Ajout des controles à la forme
                Controls.Add(label)
                Controls.Add(tbox)

                'Paramètrage de la position des éléments (textbox et label)
                With label
                    .Visible = True
                    .Top = top + 2 'distance entre le bord de la fenetre et le bord du conteneur
                    .Left = 5 'distance entre le bord gauche de la fenetre et le bord du conteneur
                    .Width = 120 'la largeur de l'objet
                End With

                With tbox
                    .Visible = True
                    .Top = top 'distance entre le bord de la fenetre et le bord du conteneur
                    .Left = 160 'distance entre le bord gauche de la fenetre et le bord du conteneur
                    .Width = 130 'largeur de l'objet
                    .Height = 275 'hauteur de l'objet
                End With

                top = top + 50
                numeroTextBox = numeroTextBox + 1

            End If

        Next

    End Sub
------------------------------------------------------------------------------

Voila je l'ai mis en entier si jamais cela peut aider quelqu'un. En tout cas, merci quand même pour votre aide, si quelqu'un sait pourquoi cela ne marchait pas avant, je suis curieux de connaitre l'explication.

mercredi 23 juillet 2008 à 10:37:03 | Re : La Combobox invisible !

gillardg

Réponse acceptée !
chez moi ça fonctionne très bien

PrivateSub Form1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Click

ComboBox1.Visible =

True

EndSub

PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

ComboBox1.Visible =

False

EndSub

Il n'y a que les gens qui ne font rien, qui ne font pas d'erreur

/B>

mercredi 23 juillet 2008 à 13:07:51 | Re : La Combobox invisible !

oo7jb5

Réponse acceptée !
Oui c'est vraiment bizarre car là je viens de refaire le code sur une autre forme et là miracle : tout fonctionne ! On dira que c'était un bug passager de Visual Studio ! Merci pour votre aide !

mercredi 23 juillet 2008 à 14:37:49 | Re : La Combobox invisible !

oo7jb5

Décidément c'est pas ma journée... j'ai encore un bug bizarre avec l'une de mes combobox. J'ai donc plusieurs combobox qui apparaissent correctement, mon soucis maintenant et que je n'arrivent pas à sélectionner le texte sélectionné dans deux de mes combobox. Pourtant la première, j'arrive très bien à récupérer mais les deux autres, il me retourne rien !

Je ne comprends pas car j'utilise la fonction combobox.selectedText, et cela marche pour la première mais pas pour les autres. J'ai même essayer d'utiliser la fonction combobox.selectedValue. Je ne sais pas si c'est moi qui ne comprend rien ou si l'ordinateur qui en fait qu'à sa tête mais là je suis à court d'idées.. Donc si une âme charitable pourrait m'aider, j'en serais ravi. Merci d'avance !


1 2

Cette discussion est classé dans : combobox, afficher, visible, interface, controlfound


Répondre à ce message

Sujets en rapport avec ce message

Comment afficher 2 champs d'une table dans un combobox déroulant [ par Jeronimo ] Je veux que lorsque ma form load, tous les enregistrements NomEt et PrenomEt de ma table Etudiant apparaîssent dans un combobox déroulant. Je n'y arr Comment afficher 2 champs d'une table dans un combobox déroulant [ par Jeronimo ] Je veux que lorsque ma form load, tous les enregistrements NomEt et PrenomEt de ma table Etudiant apparaîssent dans un combobox déroulant. Je n'y arr comment afficher 1 repertoire ds 1 combobox [ par erwan ] voila : je voudais afficher tous les fichiers .xls de mon repertoire app.path dans une combobox ET ENSUITE les selectionner : si je selectionne "fichi afficher le contenu d'un combobox sans la souris [ par tamsir ] Ibrahima vous salue bienIbrahima vous salue bienJ'ai developpé une application qui marche bien mais j'aimerai l'améliorer .La chose que je veux est l combobox index [ par Beber59 ] Bjour tt l'monde,voila j'utilise un combo pour afficher la liste des elements d'un recordset :Do Until rcAffListeADO.EOFcmbAffaire.AddItem rcAffListeA Afficher infos dans une combobox selon un choix dans une autre... [ par crashtoy ] Je suis un pire débutant en VB et je suis chargé pour mon stage de réaliser une petite appli sur pocket PC (grâce à eVB) pour le conseil général de la J'en peu plus... Aidez moi... [ par MissJo ] J'explique mon probleme:j'utilise une mshflexgrid pour afficher des résultats suivant une combobox.Je récupere donc la valeur de ma combobox, je vais Afficher uniquement les champs différents d'une table dans un combobox [ par SuperRattata ] Bonjour,Je dispose d'une frame avec un combobox qui appelle une table d'une base de donnéé.Dans cette combobox, j'affiche les infos contenu dans la pr Combobox & Fichier ini [ par chalmi ] Voila mon probleme, je ne suis pas encore un grand developpeur VB, mais je voudrais afficher dans une premiere combobox les valeurs des sections de mo Remplir un combobox et afficher le premier élément [ par sheriff8 ] Bonjour,Je n'ai pas de problème à remplir ma combobox mais j'aimerais que le premier item apparaisse par défaut dans le combobox . Merci de votre aide


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,778 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.