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 :

visibilité entre Form et bibliotheque de class


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut visibilité entre Form et bibliotheque de class
    BOnjour

    Je suis occupé a faire quelques petits test en vue du développement d'un petit programme.

    J'ai une bibliothèque de class (Poeples) dans la quelle il il a des composants de type textbox, Combobox et autres.

    J'initialise cette bibliotheque dans ma forme ( Clients ) avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Dim Clients As Poeples.Poeple = New Poeples.Poeple
    mon composant est bien visible dans ma forme, je peux y encoder des données, mais si je demande simplement de m'afficher en suite cette donnée dans un messageBox , alors il est vide.

    Ma forme qui appelle

    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
    Public Class FrmClients
     
          Dim Clients As Poeples.Poeple = New Poeples.Poeple
     
          Private Sub FrmClients_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
     
          End Sub
     
          Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
     
                MsgBox(Clients.Nom)
     
          End Sub
     
    End Class

    Ma class

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     Public Class Poeple
          Dim G_Variable As GlobalVar.VariableGobale = New GlobalVar.VariableGobale
          Dim GetData As DataControle.DataControle = New DataControle.DataControle
          Dim CodePostal As ZipCode.ZipCodes = New ZipCode.ZipCodes
          Dim ControleChamps As CheckFields.CheckFiled = New CheckFields.CheckFiled
          Dim AjoutData As Boolean = False
          Dim WithEvents TimerLbl As Timer = New Timer
     
          Public DgContacts As DataGridView = New DataGridView
     
          Private _Nom As String
          Private _adresse1 As String
          Private _Cp As String
     
          Private Sub Poeple_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
     
                With DgContacts
                      .RowCount = 20
                      .ColumnCount = 5
                      .Location = New Point(3, 3)
                      .RowHeadersVisible = False
                      .BackgroundColor = Color.White
                      .AlternatingRowsDefaultCellStyle.BackColor = Color.LightCyan
     
                      .ScrollBars = ScrollBars.Vertical
                      .Size = New Size(TbClients.Width - 13, TbClients.Height - .ColumnHeadersHeight - 5)
     
                End With
     
                Me.TbContacts.Controls.Add(DgContacts)
     
                LoadComboBox()
          End Sub
     
          Private Sub TxtNom_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles TxtNom.KeyDown, TxtAdresse1.KeyDown, TxtCp.KeyDown
     
                If e.KeyCode = Keys.Return Then SendKeys.Send("{TAB}")
     
          End Sub
     
          Private Sub LoadComboBox()
                Dim DsPays As DataSet = New DataSet
     
                DsPays = GetData.GetDatas("SELECT * FROM IsoCountry ORDER BY I_NameCountry", "IsoCountry", G_Variable.Connexion)
     
                CbPays.Items.Clear()
     
                CbPays.Items.Add("")
                For Each rPays As DataRow In DsPays.Tables("IsoCountry").Rows
                      CbPays.Items.Add(Format(rPays("I_IsoCodeCountry"), "000") & " " & rPays("I_NameCountry").ToString.Trim)
                Next
     
          End Sub
     
          Private Sub TxtNom_LostFocus(sender As Object, e As System.EventArgs) Handles TxtNom.LostFocus, TxtAdresse1.LostFocus, TxtCp.LostFocus
     
                Select Case CType(sender, TextBox).Name
     
                      Case "TxtNom"
                            Nom = TxtNom.Text
                            TxtNom.Text = Nom
     
                      Case "TxtAdresse1"
                            Adresse1 = TxtAdresse1.Text
                            TxtAdresse1.Text = Adresse1
     
                      Case "TxtCp"
                            Cp = TxtCp.Text
                            TxtCp.Text = Cp
     
                End Select
     
          End Sub
     
          Property Nom As String
     
                Get
                      Return _Nom
                End Get
                Set(value As String)
                      _Nom = UCase(value)
     
                End Set
     
          End Property
     
          Property Adresse1 As String
     
                Get
                      Return _adresse1
                End Get
                Set(value As String)
                      _adresse1 = UCase(value)
     
                End Set
     
          End Property
     
          Property Cp As String
     
                Get
                      Return _Cp
                End Get
                Set(value As String)
                      _Cp = UCase(value)
     
                End Set
     
          End Property
     
     
     
    End Class
    Y a t'il un stress?

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    la propriété nom retourne _nom, qui est vide, donc je ne vois rien qui cloche


    après si le but est de faire la liaison entre un textbox et une prorpriété, tu peux aussi faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public property nom as string
    get
      return txtnom.text
    end get
    set (value as string)
      txtnom.text = value
    end set
    end property
    ca évite d'avoir du code inutile ^^


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Nom = TxtNom.Text
    TxtNom.Text = Nom
    et ca, ca me laisse sans voix ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    bonjour Pol

    Le but est effectivement dans ma forme appelante de pouvoir traiter les info entrée dans les textbox de la class, comme dans l'événement Click du bouton dans le code ci-dessus.

    Le but final étant de pouvoir utiliser cette clase dans plusieurs modules différents

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 247
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Nom = TxtNom.Text
    TxtNom.Text = Nom
    et ca, ca me laisse sans voix ...
    Et pourtant combien de fois on le voit ce genre de truc. Et c'est une habitude dure à faire passer

  5. #5
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Oups

    Je me suis peut être mal exprimer car "Poeples" en réalité, il s'agit d'un UserContrôle.

    Cela fait il une différence pour la visibilité dans la forme Clients

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    un usercontrol ca marche peu importe où il est, enfin tant qu'on arrive à le mettre dans la boite à outils surtout ^^
    une dll ca ne change rien à rien
    donc si tu as des problèmes pose des questions claires
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Bonjour Pol

    Comme tu dis en clair

    Dans le usercontrol "Poeples" il y a des textbox , comboxBox et autres objet

    J'ai bien mon usercontrole dans la barre d'outils et l'ai placé sur une forme qui s'appelle "clients". Jusque là je crois que c'est bien correcte.

    En suite dans la forme "Clients" j'instentie un objet qui s'appelle Client de type Poeples -> je crois que c'est correcte aussi.

    Lorsque je lance le programme " F5 " je vois bien apparaitre mes objets textbox et autres sur la forme "Clients" .
    Si je place le curseur dans un textbox, il se rempli bien et quand je clique sur le bouton "Button1" je lui demande simplement de m'afficher "Clients.Nom"

    Clients étant l'objet declaré plus haut et "Nom" étant la propriété dans le usercontrol.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim Clients As Poeples.Poeple = New Poeples.Poeple

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

Discussions similaires

  1. Problème de visibilité entre 2 classes dans un même répertoire
    Par Erixx dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 01/02/2015, 02h43
  2. [débutant] Tomcat - Pb Visibilité entre classes JAVA
    Par Laurent C. dans le forum Services Web
    Réponses: 2
    Dernier message: 19/11/2008, 12h47
  3. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 13h58
  4. Réponses: 6
    Dernier message: 28/02/2004, 09h19
  5. Héritage entre Forms
    Par BarBal dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 17h44

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