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 :

Selection de controles sur tabcontrol


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 84
    Par défaut Selection de controles sur tabcontrol
    Bonjour,
    je souhaite sélectionner tous les controls de ma forme seulement voila mes controls sont dans des tabpage.
    J 'ai déjà utilisé c code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
            Dim ctrl As Control
     
            For Each ctrl In Me.Controls
                If TypeName(ctrl) = "TextBox" Then
                    wsExcel.Range(CTRL. Tag).Value = ctrl.Text
                End If
     
            Next
    Pour sélectionner les control dans une forme, mais la pour le tab control je sèche..... Ce dois être du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim ctrl As TabPageControlCollection
     
                For Each ctrl In Me.TabPageControlCollection
                    If TypeName(ctrl) = "TextBox" Then wsExcel.Range(ctrl.Tag).Value = ctrl.Text
                Next
                Dim i As Integer, j As Integer
    Mais la je bloque........
    Y'aurai - t - il quelqu'un pour m' aider ??

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 84
    Par défaut Toujours avec ce souci
    voila a quoi ressemble mon code :
    Code vb.net : 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
     
      appExcel = CreateObject("Excel.Application")
                'Ouverture du fichier type Excel
                wbExcel = appExcel.Workbooks.Open("\\Ppffiles\commun\PRODUCTION\POPP\Rapports\F-PRO-09 Rapport injection.xlsx")
                'wsExcel correspond à la première feuille du fichier
                wsExcel = wbExcel.Worksheets(1)
                'on affice pas excel 
                appExcel.Visible = True
     
                'Je declare la première page du fichier rapport
                Dim NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet = wbExcel.Worksheets("rapport d'injection")
                Dim i As Integer, j As Integer
     
     
     
                ' Dim tb As TabPageControlCollection
                Dim ctrl As Control
     
                'For i = 0 To TabControl1.TabPages.Count - 1
                For Each ctrl In TabControl1.TabPages
                    If TypeName(ctrl) = "TextBox" Then
                        wsExcel.Range(ctrl.Tag).Value = ctrl.Text
                    End If

    Et la rien ne se passe comment faire S.V.P.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each tp As TabPage In TabControl1.TabPages
      For Each ctrl As Control In tp.Controls
        ' ...
      Next
    Next

    [Edit]Au fait, les "textbox"s sont-il dans des "panel"s ou des "groupbox"s ? (auquel cas il faut en tenir compte)
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 84
    Par défaut Réponse
    En fait j'ai réussi pour les textbox dans les panels avec ce code
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                For Each ctrl In Me.TableLayoutPanel1.Controls
                    If TypeName(ctrl) = "TextBox" Then
                        wsExcel.Range(ctrl.Tag).Value = ctrl.Text
                    End If
                Next
    Mais j'ai deux soucis :

    Ayant plusieurs Panel je répète ce code autant de fois que nécessaire (pas très esthétique), et mon second pb est que je dispose aussi de checkbox......
    Et la c'est le drame : Je n'arrive pas a convertir mes textbox en valeur booléenne pour transferer leurs valeur sur Excel !!! J'ai essayé :
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                'Dim cb As CheckBox
                'For Each ctrl In Me.TabControl1.Controls
                '    If TypeOf ctrl Is CheckBox Then
                '        cb = ctrl
                '        If cb.Checked = True Then
                '            wsExcel.Range(ctrl.Tag).Value = ctrl.Text
                '        End If
                '    End If
                'Next

    En vain !!!! Une idée ?

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Citation Envoyé par killowatt Voir le message
    selection de controles sur tabcontrol
    je souhaite sélectionner tous les controls de ma forme seulement voila mes controls sont dans des tabpage.
    Citation Envoyé par killowatt Voir le message
    En fait j'ai réussi pour les textbox dans les panels avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each ctrl In Me.TableLayoutPanel1.Controls
    c'est quoi ? un TabControl ou un TableLayoutPanel ? Les deux imbriqués ?
    ____________________________________

    Citation Envoyé par killowatt Voir le message
    Je n'arrive pas a convertir mes textbox en valeur booléenne
    Quelles sont les valeurs contenues dans les propriétés "Text" des "TextBox" ?
    ____________________________________

    Sinon,
    soit tu fais des imbrications
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            For Each tp As TabPage In TabControl1.TabPages
                For Each pan In tp.Controls.OfType(Of Panel)()
                    For Each txt As TextBox In pan.Controls.OfType(Of TextBox)()
                        ' ici traitement de tous les textbox ...
     
                    Next
                Next
            Next
        End Sub
    Soit tu pars sur cet exempe : Boucler sur toutes les TextBox que tu adaptes.

    Tu peux écrire la méthode ainsi :
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Function GetAllControls(Of TControl As Control)(source As Control) As IEnumerable(Of TControl)
            Dim children = source.Controls.Cast(Of Control)()
            Return children.SelectMany(Function(child) GetAllControls(Of TControl)(child)).OfType(Of TControl).Concat(children.OfType(Of TControl))
        End Function
    Et l'utiliser de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Dim s As String = ""
            Array.ForEach(GetAllControls(Of TextBox)(Me).ToArray, Sub(tb) s &= tb.Text & vbCrLf)
            MessageBox.Show(s)
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 84
    Par défaut Je me suis trompé
    En fait c'est des checkbox que je n'arrive pas a convertir en booléen ... dsl...
    Et oui c'est une forme à l'interieur il y un tabcontrol et dedans il ya des textbox, des panel et des checkbox....

Discussions similaires

  1. [Réseau] select() et accept() sur plusieurs sockets
    Par Higestromm dans le forum C++
    Réponses: 13
    Dernier message: 13/10/2008, 09h18
  2. [VB]Control sur une msflexgrid ?
    Par Shypster dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 14/01/2006, 14h29
  3. [JSP/WebSphere] Boucle de controle sur un FTP
    Par benben13 dans le forum Websphere
    Réponses: 10
    Dernier message: 30/08/2005, 16h18
  4. SELECT ORDER BY sur 2 tables
    Par _Eric_ dans le forum Langage SQL
    Réponses: 5
    Dernier message: 21/07/2004, 12h17
  5. affichage de controles sur un splash screen
    Par shrek dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/11/2003, 19h59

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