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 :

Ajout dynamique ligne/colonne TableLayoutPanel


Sujet :

VB.NET

  1. #1
    Membre éclairé Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Points : 801
    Points
    801
    Par défaut Ajout dynamique ligne/colonne TableLayoutPanel
    Bonjour,

    Toujours dans mon projet de fenêtre dockable, j'essaie de mettre en place un composant hérité d'un TableLayoutPanel. Suivant sa propriété dock, je veux que ça ajoute les contenus soit sur une même ligne, soit sur une même colonne (Dock.Top/Bottom => 1 ligne; Dock.Left/Right => 1 colonne). Pour ce faire, je n'ai surement pas la bonne méthode car cela m'ajoute toujours les contenus sur une même colonne..

    A la création du composant, suivant sa propriété Dock j'assigne sa propriété GrowStyle à AddRows ou AddColumns. Cette propriété ne changera jamais.

    Puis pour chaque ajout de contenu (des fenêtres), j'exécute cette méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Public Sub AddWindow(ByVal window As ABWWindow)
     
            If Me.GrowStyle = TableLayoutPanelGrowStyle.AddColumns Then
                Dim i = Me.ColumnStyles.Add(New ColumnStyle())
                Me.Controls.Add(window, i, 0)
            ElseIf Me.GrowStyle = TableLayoutPanelGrowStyle.AddRows Then
                Dim i = Me.RowStyles.Add(New RowStyle())
                Me.Controls.Add(window, 0, i)
            End If
     
            'ect.
        End Sub
    J'ai essayé de manipuler les objets/propriétés un peu dans tout les sens mais je ne parviens pas à ce que je veux..

    Merci de votre aide.
    J’ai des questions à toutes vos réponses!

  2. #2
    Membre éclairé Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Points : 801
    Points
    801
    Par défaut
    Problème résolu plus vite que je pensais.. Je me plantais dans l'assignation de la propriété GrowStyle..
    J’ai des questions à toutes vos réponses!

  3. #3
    Membre éclairé Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Points : 801
    Points
    801
    Par défaut
    Bon j'ai une autre question sur ce sujet..

    Je fais en sorte que si je déplace ma fenêtre, elle est enlevée des controls du TLP. Seulement je ne parviens pas à supprimée la ligne/colonne qui reste alors vide..
    J’ai des questions à toutes vos réponses!

  4. #4
    Membre éclairé Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Points : 801
    Points
    801
    Par défaut Suppression ligne/colonne TableLayoutPanel
    Bon bah j'ai finalement trouvé.

    Voici le code que j'ai réalisé:
    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
        Private Sub ReorganizeAfterRemoveAt(pos As TableLayoutPanelCellPosition)
            If pos <> New TableLayoutPanelCellPosition(-1, -1) Then
                If Me.GrowStyle = TableLayoutPanelGrowStyle.AddColumns Then
                    If ColumnCount <> pos.Column AndAlso ColumnCount <> 0 Then
                        For i = pos.Column + 1 To Me.ColumnCount - 1
                            Dim c As Control = Me.GetControlFromPosition(i, 0)
                            Me.SetColumn(c, i - 1)
                        Next
                    End If
     
                    Me.ColumnCount -= 1
                    Me.ColumnStyles.RemoveAt(pos.Column)
                ElseIf Me.GrowStyle = TableLayoutPanelGrowStyle.AddRows Then
                    If RowCount <> pos.Row AndAlso RowCount <> 0 Then
                        For i = pos.Row + 1 To Me.RowCount - 1
                            Dim c As Control = Me.GetControlFromPosition(0, i)
                            Me.SetRow(c, i - 1)
                        Next
                    End If
     
                    Me.RowCount -= 1
                    Me.RowStyles.RemoveAt(pos.Row)
                End If
            End If
        End Sub
    J'ai pas trouvé mieux..
    J’ai des questions à toutes vos réponses!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ajout dynamique de colonne dans une datagridview
    Par djelloharmel dans le forum Développement Windows
    Réponses: 0
    Dernier message: 04/02/2013, 10h17
  2. [1.x] Doctrine_Template : ajouter dynamiquement des colonnes
    Par sebastien.bd dans le forum Symfony
    Réponses: 0
    Dernier message: 07/09/2011, 15h24
  3. Ajouter dynamiquement des colonnes à un gridview
    Par JCMANSION dans le forum ASP.NET
    Réponses: 2
    Dernier message: 27/10/2010, 00h41
  4. Réponses: 7
    Dernier message: 01/03/2006, 18h14
  5. Ajout dynamique de colonne identity
    Par graphicsxp dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/11/2005, 16h40

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