none
Visual Studio 2005 : objets fantômes, comment les détruire RRS feed

  • Question

  • Bonjour,
    Sous Visual Studio, j'ai un bouton (Button1), 2 Combos (ComboBox1 et 2) et 9 TextBox(TextBox1 à 9) qui :
    - lorsque je les sélectionne dans la liste déroulante de la, fenêtre Propriétés, ne provoquent aucune réaction dans la fenêtre Formulaire.vb[Design] : il n'apparaissent pas sélectionnés
    - dans les mêmes condition, avec la fenêtre Propriétés/Evénements, aucun événement n'est lié à une routine
    - dans la fenêtre Formulaire.vb, ces objets apparaissent dans la liste déroulante "Nom de la classe", mais aucune routine ne leur est associée dans la liste déroulante "Nom de la méthode
    "- si je veux créer un objet portant le même nom, il m'est dit que c'est impossible, car il existe déjà
    - quand je fais "Nettoyer" du projet, cela ne change rien

    N.B. La partie visible du formulaire est constituée d'un TabControl avec 10 TabPage; et qu'en conséquence les pages ont été constituées par Copier/Coller, ce qui exlique que les objets fantômes qui me gênent sont des clones (paramètres Text, Size, Location) d'objets existants

    Ma question : Puisqu'apparemment ces objets n'ont pas d'existence réelle, comment les détruire ?

    mercredi 14 avril 2010 06:49

Réponses

  • Bonjour,

    Vous avez des objets "fantômes" car il n'ont pas été ajouté dans votre fenêtre dans la liste des contrôles :

    Me.Controls.Add(<votre contrôle>)

    Soit vous ajoutez cette ligne à la fin de la méthode InitializeComponent(), soit vous supprimer vos composant fantômes. Il suffit de supprimer tout ce qui fait référence à votre contrôle fantome.

    Cordialement


    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    lundi 26 avril 2010 06:55
    Modérateur

Toutes les réponses

  • Bonjour Marcel, 

    Il semble qu'il y ait une petit erreur dans ton code. Pourrais tu nous montrer le code que tu utilises?


    Jérémy Jeanson MCP http://blogs.codes-sources.com/JeremyJeanson/ (French or English Spoken)
    lundi 19 avril 2010 09:41
  • J'ai essayé d'envoyer Principale.Designer.vb, mais ça doit être trop gros, ça ne passe pas.

    En tout cas je me suis assuré que les seules occurrences des noms de mes objets fantômes sont dans ce code.

    Puis-je ôter les lignes qui les concernent, et avec quelles précautions ?

     

    Merci de ton aide

    • Modifié marcel337564 dimanche 25 avril 2010 09:47 orthographe
    dimanche 25 avril 2010 09:47
  • Je fais un extrait des lignes concernées :

    Partial Class Principale

    ................................

    Private Sub InitializeComponent()

    ..............................................

            Me.TextBox1 = New System.Windows.Forms.TextBox
            Me.ComboBox1 = New System.Windows.Forms.ComboBox
            Me.Button1 = New System.Windows.Forms.Button
            Me.TextBox2 = New System.Windows.Forms.TextBox
            Me.TextBox3 = New System.Windows.Forms.TextBox
            Me.TextBox4 = New System.Windows.Forms.TextBox
            Me.TextBox5 = New System.Windows.Forms.TextBox
            Me.TextBox6 = New System.Windows.Forms.TextBox
            Me.TextBox7 = New System.Windows.Forms.TextBox
            Me.TextBox8 = New System.Windows.Forms.TextBox
            Me.TextBox9 = New System.Windows.Forms.TextBox
            Me.Label68 = New System.Windows.Forms.Label
            Me.Label69 = New System.Windows.Forms.Label
            Me.ComboBox2 = New System.Windows.Forms.ComboBox
            Me.Label70 = New System.Windows.Forms.Label
            Me.Label71 = New System.Windows.Forms.Label
            Me.Label73 = New System.Windows.Forms.Label
            Me.Label76 = New System.Windows.Forms.Label
            Me.Label77 = New System.Windows.Forms.Label
            Me.Label78 = New System.Windows.Forms.Label
            Me.Label79 = New System.Windows.Forms.Label
            Me.Label80 = New System.Windows.Forms.Label
            Me.Label81 = New System.Windows.Forms.Label
            Me.Label82 = New System.Windows.Forms.Label
    .................................................................................

            '
            'TextBox1
            '
            Me.TextBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.TextBox1.Location = New System.Drawing.Point(402, 139)
            Me.TextBox1.Name = "TextBox1"
            Me.TextBox1.Size = New System.Drawing.Size(104, 22)
            Me.TextBox1.TabIndex = 42
            '
            'ComboBox1
            '
            Me.ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
            Me.ComboBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.ComboBox1.FormattingEnabled = True
            Me.ComboBox1.Location = New System.Drawing.Point(119, 213)
            Me.ComboBox1.MaxDropDownItems = 10
            Me.ComboBox1.Name = "ComboBox1"
            Me.ComboBox1.Size = New System.Drawing.Size(220, 24)
            Me.ComboBox1.TabIndex = 44
            '
            'Button1
            '
            Me.Button1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Button1.ForeColor = System.Drawing.Color.Red
            Me.Button1.Location = New System.Drawing.Point(50, 55)
            Me.Button1.Name = "Button1"
            Me.Button1.Size = New System.Drawing.Size(108, 23)
            Me.Button1.TabIndex = 43
            Me.Button1.Text = "Rechercher"
            Me.Button1.UseVisualStyleBackColor = True
            '
            'TextBox2
            '
            Me.TextBox2.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.TextBox2.Location = New System.Drawing.Point(241, 139)
            Me.TextBox2.Name = "TextBox2"
            Me.TextBox2.Size = New System.Drawing.Size(104, 22)
            Me.TextBox2.TabIndex = 40
            '
            'TextBox3
            '
            Me.TextBox3.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.TextBox3.Location = New System.Drawing.Point(119, 174)
            Me.TextBox3.Name = "TextBox3"
            Me.TextBox3.Size = New System.Drawing.Size(220, 22)
            Me.TextBox3.TabIndex = 32
            '
            'TextBox4
            '
            Me.TextBox4.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.TextBox4.Location = New System.Drawing.Point(402, 103)
            Me.TextBox4.Name = "TextBox4"
            Me.TextBox4.Size = New System.Drawing.Size(104, 22)
            Me.TextBox4.TabIndex = 25
            '
            'TextBox5
            '
            Me.TextBox5.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.TextBox5.Location = New System.Drawing.Point(402, 70)
            Me.TextBox5.Name = "TextBox5"
            Me.TextBox5.Size = New System.Drawing.Size(104, 22)
            Me.TextBox5.TabIndex = 25
            '
            'TextBox6
            '
            Me.TextBox6.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.TextBox6.Location = New System.Drawing.Point(241, 106)
            Me.TextBox6.Name = "TextBox6"
            Me.TextBox6.Size = New System.Drawing.Size(104, 22)
            Me.TextBox6.TabIndex = 23
            '
            'TextBox7
            '
            Me.TextBox7.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.TextBox7.Location = New System.Drawing.Point(241, 70)
            Me.TextBox7.Name = "TextBox7"
            Me.TextBox7.Size = New System.Drawing.Size(104, 22)
            Me.TextBox7.TabIndex = 20
            '
            'TextBox8
            '
            Me.TextBox8.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.TextBox8.Location = New System.Drawing.Point(326, 34)
            Me.TextBox8.Name = "TextBox8"
            Me.TextBox8.Size = New System.Drawing.Size(62, 22)
            Me.TextBox8.TabIndex = 17
            '
            'TextBox9
            '
            Me.TextBox9.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.TextBox9.Location = New System.Drawing.Point(135, 34)
            Me.TextBox9.Name = "TextBox9"
            Me.TextBox9.Size = New System.Drawing.Size(62, 22)
            Me.TextBox9.TabIndex = 15
            '
            'Label68
            '
            Me.Label68.AutoSize = True
            Me.Label68.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Label68.Location = New System.Drawing.Point(359, 142)
            Me.Label68.Name = "Label68"
            Me.Label68.Size = New System.Drawing.Size(37, 16)
            Me.Label68.TabIndex = 41
            Me.Label68.Text = "Nom"
            '
            'Label69
            '
            Me.Label69.AutoSize = True
            Me.Label69.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Label69.Location = New System.Drawing.Point(180, 142)
            Me.Label69.Name = "Label69"
            Me.Label69.Size = New System.Drawing.Size(55, 16)
            Me.Label69.TabIndex = 39
            Me.Label69.Text = "Prénom"
            '
            'ComboBox2
            '
            Me.ComboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
            Me.ComboBox2.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.ComboBox2.FormattingEnabled = True
            Me.ComboBox2.Items.AddRange(New Object() {"F", "M", "?"})
            Me.ComboBox2.Location = New System.Drawing.Point(119, 70)
            Me.ComboBox2.Name = "ComboBox2"
            Me.ComboBox2.Size = New System.Drawing.Size(50, 24)
            Me.ComboBox2.TabIndex = 38
            '
            'Label70
            '
            Me.Label70.AutoSize = True
            Me.Label70.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Label70.Location = New System.Drawing.Point(76, 73)
            Me.Label70.Name = "Label70"
            Me.Label70.Size = New System.Drawing.Size(37, 16)
            Me.Label70.TabIndex = 37
            Me.Label70.Text = "sexe"
            '
            'Label71
            '
            Me.Label71.AutoSize = True
            Me.Label71.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Label71.Location = New System.Drawing.Point(16, 216)
            Me.Label71.Name = "Label71"
            Me.Label71.Size = New System.Drawing.Size(94, 16)
            Me.Label71.TabIndex = 35
            Me.Label71.Text = "Commune(s)"
            '
            'Label73
            '
            Me.Label73.AutoSize = True
            Me.Label73.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Label73.Location = New System.Drawing.Point(16, 70)
            Me.Label73.Name = "Label73"
            Me.Label73.Size = New System.Drawing.Size(51, 16)
            Me.Label73.TabIndex = 33
            Me.Label73.Text = "Enfant"
            '
            'Label76
            '
            Me.Label76.AutoSize = True
            Me.Label76.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Label76.Location = New System.Drawing.Point(359, 106)
            Me.Label76.Name = "Label76"
            Me.Label76.Size = New System.Drawing.Size(37, 16)
            Me.Label76.TabIndex = 24
            Me.Label76.Text = "Nom"
            '
            'Label77
            '
            Me.Label77.AutoSize = True
            Me.Label77.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Label77.Location = New System.Drawing.Point(359, 73)
            Me.Label77.Name = "Label77"
            Me.Label77.Size = New System.Drawing.Size(37, 16)
            Me.Label77.TabIndex = 24
            Me.Label77.Text = "Nom"
            '
            'Label78
            '
            Me.Label78.AutoSize = True
            Me.Label78.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Label78.Location = New System.Drawing.Point(179, 109)
            Me.Label78.Name = "Label78"
            Me.Label78.Size = New System.Drawing.Size(55, 16)
            Me.Label78.TabIndex = 22
            Me.Label78.Text = "Prénom"
            '
            'Label79
            '
            Me.Label79.AutoSize = True
            Me.Label79.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Label79.Location = New System.Drawing.Point(180, 73)
            Me.Label79.Name = "Label79"
            Me.Label79.Size = New System.Drawing.Size(55, 16)
            Me.Label79.TabIndex = 19
            Me.Label79.Text = "Prénom"
            '
            'Label80
            '
            Me.Label80.AutoSize = True
            Me.Label80.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Label80.Location = New System.Drawing.Point(203, 36)
            Me.Label80.Name = "Label80"
            Me.Label80.Size = New System.Drawing.Size(117, 16)
            Me.Label80.TabIndex = 16
            Me.Label80.Text = "Année maximum ?"
            '
            'Label81
            '
            Me.Label81.AutoSize = True
            Me.Label81.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Label81.Location = New System.Drawing.Point(16, 36)
            Me.Label81.Name = "Label81"
            Me.Label81.Size = New System.Drawing.Size(113, 16)
            Me.Label81.TabIndex = 14
            Me.Label81.Text = "Année minimum ?"
            '
            'Label82
            '
            Me.Label82.AutoSize = True
            Me.Label82.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            Me.Label82.Location = New System.Drawing.Point(6, 6)
            Me.Label82.Name = "Label82"
            Me.Label82.Size = New System.Drawing.Size(286, 20)
            Me.Label82.TabIndex = 0
            Me.Label82.Text = "Recherche d'un acte de naissance"
            '
            'PictureBox16
            '
            Me.PictureBox16.BackgroundImage = Global.CharneGroupe.My.Resources.Resources.Maison
            Me.PictureBox16.Location = New System.Drawing.Point(79, 174)
            Me.PictureBox16.Name = "PictureBox16"
            Me.PictureBox16.Size = New System.Drawing.Size(25, 25)
            Me.PictureBox16.TabIndex = 47
            Me.PictureBox16.TabStop = False
    .......................................................................

    ' Principale (Déclarations)

    ...............................................................

        Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
        Friend WithEvents PictureBox16 As System.Windows.Forms.PictureBox
        Friend WithEvents PictureBox17 As System.Windows.Forms.PictureBox
        Friend WithEvents PictureBox18 As System.Windows.Forms.PictureBox
        Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox
        Friend WithEvents Button1 As System.Windows.Forms.Button
        Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
        Friend WithEvents TextBox3 As System.Windows.Forms.TextBox
        Friend WithEvents TextBox4 As System.Windows.Forms.TextBox
        Friend WithEvents TextBox5 As System.Windows.Forms.TextBox
        Friend WithEvents TextBox6 As System.Windows.Forms.TextBox
        Friend WithEvents TextBox7 As System.Windows.Forms.TextBox
        Friend WithEvents TextBox8 As System.Windows.Forms.TextBox
        Friend WithEvents TextBox9 As System.Windows.Forms.TextBox
        Friend WithEvents Label68 As System.Windows.Forms.Label
        Friend WithEvents Label69 As System.Windows.Forms.Label
        Friend WithEvents ComboBox2 As System.Windows.Forms.ComboBox
        Friend WithEvents Label70 As System.Windows.Forms.Label
        Friend WithEvents Label71 As System.Windows.Forms.Label
        Friend WithEvents Label73 As System.Windows.Forms.Label
        Friend WithEvents Label76 As System.Windows.Forms.Label
        Friend WithEvents Label77 As System.Windows.Forms.Label
        Friend WithEvents Label78 As System.Windows.Forms.Label
        Friend WithEvents Label79 As System.Windows.Forms.Label
        Friend WithEvents Label80 As System.Windows.Forms.Label
        Friend WithEvents Label81 As System.Windows.Forms.Label
        Friend WithEvents Label82 As System.Windows.Forms.Label

    NB : Les PictureBox16 à 18 sont aussi fantômes

    dimanche 25 avril 2010 10:01
  • Bonjour,

    Vous avez des objets "fantômes" car il n'ont pas été ajouté dans votre fenêtre dans la liste des contrôles :

    Me.Controls.Add(<votre contrôle>)

    Soit vous ajoutez cette ligne à la fin de la méthode InitializeComponent(), soit vous supprimer vos composant fantômes. Il suffit de supprimer tout ce qui fait référence à votre contrôle fantome.

    Cordialement


    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    lundi 26 avril 2010 06:55
    Modérateur
  • Merci Gilles

    Effectivement, parmi les occurrences des noms de ces objets, aucune n'était dans une instruction Add Control .... ce qu'il fallait remarquer

    Ça n'empêchait pas l'appli de tourner, mais ça gênait ma tranquillité.

    Je n'aime pas avoir des choses pas claires qui traînent.

     

    P.S. J'ai aussi glissé une question sur l'ouverture de la base 'master', si tu connais quelqu'un qui peut y répondre ....(du 14 avril je crois bien)

     

    Bonne journée

    lundi 26 avril 2010 08:12
  • Bonjour,

    Quel est le lien vers votre question ?

    Cordialement


    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    lundi 26 avril 2010 16:02
    Modérateur
  • Deux collègues avaient répondu, mais j'avais dû omettre de poser une alerte.

    J'ai ma réponse (

    Visual Studio > Forums Visual Studio > Visual Studio - en général > Comment se connecter à la base 'master' ?)

    Merci de votre diligence et de votre sollicitude ....
    mardi 27 avril 2010 08:16