IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Dupliquer un panel d'objets


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 3
    Par défaut Dupliquer un panel d'objets
    Salut à tous

    Alors voilà je suis nouveau sur le forum et débutant en vb, donc excusez par avance si je crée un doublon de sujet.

    Je vais vous exposer mon soucis. Je cherche à dupliquer un panel, composé de plusieurs boutons, textbox, labels etc...

    C'est à dire, lorsque l'utilisateur veut rajouter un panel supplémentaire, il clique sur un bouton "Créer", et je souhaiterai qu'un panel identique au premier, se crée en dessous, et un 3ème s'il reclique et ainsi de suite à l'infini. Avec bien sur tous les noms des objets qui s'incrémente d'une valeur fixe (exemple objet du panel2 = objet panel1 + 1000, objet panel3 = objet panel2 + 1000 etc...).

    On peut faire un visible true/false mais cette méthode est assez limitée.

    Ensuite, lorsque le panel est créé, est il possible de dupliquer aussi le code associé, en incrémentant bien sur tous les noms des objets dedans ?

    J'espère avoir été assez clair.

    Merci par avance de vos réponses, car là je bloque...

    Olive

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Citation Envoyé par neolive31 Voir le message
    Salut à tous

    Alors voilà je suis nouveau sur le forum et débutant en vb...

    Olive
    Salut
    Tu ne commences pas par le plus facile
    Dejà, créer des objets indexés me semble le plus pratique et quasi indispensable pour ton besoin
    Ensuite, lorsque le panel est créé, est il possible de dupliquer aussi le code associé, en incrémentant bien sur tous les noms des objets dedans ?
    Sur un Form, 1 CommandButton, 1 Frame, dans se Frame 1 TextBox et un Label.
    Tous ces objets, composants, mettre la proriété Index = 0
    Et ce bout de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Option Explicit
     
    Private Sub Command1_Click()
    Dim Idx As Integer
    Load FramPannel(FramPannel.Count) 'ajout d'un nouveau FramPannel
    Load Text1(Text1.Count) 'ajout d'un nouveau Text1
    Set Text1(Idx).Container = FramPannel(Idx) 'placer l'objet dans le Frame
    Load Label1(Label1.Count) 'ajout d'un nouveau Label1
    Set Label1(Idx).Container = FramPannel(Idx)
     
    'nouveau index créé = Nbr d'objet - 1
    Idx = FramPannel.Count - 1
     
    'placement de l'objet créé
    FramPannel(Idx).Move FramPannel(Idx - 1).Left + 120, FramPannel(Idx - 1).Top + 180
    FramPannel(Idx).ZOrder ' mise au premier plan
    FramPannel(Idx).Caption = "Ajout " & Idx 'pour le distinguer des autres
    'rendre visible les nouveaux objets
    FramPannel(Idx).Visible = True
    Text1(Idx).Visible = True
    Label1(Idx).Visible = True
     
    End Sub
     
     
     
     
    Private Sub FramPannel_Click(Index As Integer)
    'mettre l'objet au premier plan (surtout si il se recouvre partiellement les uns les autres
    FramPannel(Index).ZOrder
    End Sub
    Private Sub Text1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    'utilisation de l'index pour distinguer le composant
    Select Case Index
     Case 0: Text1(Index).ToolTipText = "objet original"
     Case Is <= 4: Text1(Index).ToolTipText = "coucou, index plus petit que 5"
     Case Else: Text1(Index).ToolTipText = "Pas coucou, na, index plus grand que 4"
    End Select
    End Sub
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 3
    Par défaut
    bonjour

    J'ai essayé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Public Class Form1
        Dim i As Integer
        Dim j As Integer
     
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim panel(i) As System.Windows.Forms.Panel
            panel(i) = New System.Windows.Forms.Panel
            panel(i) = panel(j)
            panel(i).Top = panel(j).Top + 10
            i = i + 1
        End Sub
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            i = 2
            j = i - 1
        End Sub
    End Class
    Le problème est qu'il bug sur "panel(i).Top = panel(j).Top + 10". J'ai un panel 1 qui existe et j'essaye de le dupliquer en panel(i).

    Où est le soucis ?

    Merci

    Olive

Discussions similaires

  1. Dupliquer un panel
    Par Niko2805 dans le forum Débuter
    Réponses: 2
    Dernier message: 21/07/2011, 17h38
  2. Dupliquer un panel
    Par Raylemon dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 16/02/2007, 07h31
  3. [VB.NET] Drag and Drop d'un fichier sur un objet Panel
    Par Mü dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/11/2005, 12h30
  4. Dupliquer un objet
    Par Mimi Bulles dans le forum Langage
    Réponses: 13
    Dernier message: 15/09/2005, 02h25
  5. Dupliquer un objet
    Par Folken Laëneck dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/08/2005, 09h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo