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 :

Créer une fonction dans visual basic


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut Créer une fonction dans visual basic
    Bonjour mes amis.
    J'ai besoin de votre aide pour résoudre un problème de débutant.
    J'ai créé 3 fenêtres Form1,Form2 et Form3, qui contiennent tous 3 textBox: txtMatricule, txtNom et txtPrenom.
    Form1 contient en plus 2 boutons: btnForm2 et btnForm3.
    Le but est d'avoir au niveau de Form2 les mêmes informations que Form1 quand je clique su btnForm2. De même pour Form3.
    J'ai écris ce code qui marche:
    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
    Public Class Form1
     
        Private Sub btnForm2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnForm2.Click
            Dim f As New Form2
            f.txtMatricule.Text = Me.txtMatricule.Text
            f.txtNom.Text = Me.txtNom.Text
            f.txtPrenom.Text = Me.txtPrenom.Text
            f.ShowDialog()
     
        End Sub
     
        Private Sub btnForm3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnForm3.Click
            Dim f As New Form3
            f.txtMatricule.Text = Me.txtMatricule.Text
            f.txtNom.Text = Me.txtNom.Text
            f.txtPrenom.Text = Me.txtPrenom.Text
            f.ShowDialog()
     
        End Sub
    End Class
    Je vois que je me répète:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     f.txtMatricule.Text = Me.txtMatricule.Text
            f.txtNom.Text = Me.txtNom.Text
            f.txtPrenom.Text = Me.txtPrenom.Text
            f.ShowDialog()
    J'ai pensé donc à créer une fonction. J'ai essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Sub afficher(ByVal f As form)
        f.txtMatricule.Text = Me.txtMatricule.Text
        f.txtNom.Text = Me.txtNom.Text
        f.txtPrenom.Text = Me.txtPrenom.Text
        f.ShowDialog()
    End Sub
    aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Sub afficher(ByVal f As System.Windows.Forms.Form)
        f.txtMatricule.Text = Me.txtMatricule.Text
        f.txtNom.Text = Me.txtNom.Text
        f.txtPrenom.Text = Me.txtPrenom.Text
        f.ShowDialog()
    End Sub
    Rien ne marche. J'attends une idée de votre part.
    Merci à vous

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Tu devrais trouver ton bonheur sur le blog d'InfoSam76 concernant le passage de paramètres entre formulaires grâce au constructeur :

    http://blog.developpez.com/infosam76...ntre-deux-form

    NB : Les portions de code redondant t'amèneront à coups sure vers l'apprentissage de la POO (Programmation Orientée Objet) car VBNet est un langage orienté objet.
    Dans un 1er temps je te suggère de survoler la notion d'héritage de manière à éviter d'avoir à créer 3 form qui possèdent des contrôles identiques ou presque (ex : tes 3 textbox). Ainsi tu créeras 1 seul form dont tu pourras hériter au moyen d'une nouvelle instance.

    A+

  3. #3
    Membre éclairé Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut
    Merci pour le lien. J'ai visité mais c'est trop fort pour mon niveau
    Je laisse tomber mais j'y reviendrai quand j'aurais avancé dans mon tuto
    Merci

  4. #4
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour


    Pourquoi une function ,c'est plutot de 3 props (matricule,nom ,prenom) - au demeurant avec un code identique !!!.- dans chacun des 3 forms....

    Les props proposées sont charges de:
    - recueuillir et egalement de mettre à jour la saisie des TextBoxes
    - mettre à jour la saisie des TextBoxes....


    De plus l'espace de nom My.Forms dans VB.Net permet d'acceder à n'importe Fom de l'Application en cours...


    code .vb du Form1:

    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
     
     
     
    Public Class Form1
        Property Matricule() As String
            Get
                Return Me.TxtMatricule.Text
            End Get
            Set(ByVal Value As String)
                Me.TxtMatricule.Text = Value
            End Set
        End Property
        Property Nom() As String
            Get
                Return Me.TxtNom.Text
            End Get
            Set(ByVal Value As String)
                Me.TxtNom.Text = Value
            End Set
        End Property
        Property Prenom() As String
            Get
                Return Me.TxtPrenom.Text
            End Get
            Set(ByVal Value As String)
                Me.TxtPrenom.Text = Value
            End Set
        End Property
        Public Sub New()
     
            ' Cet appel est requis par le concepteur.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
            Matricule = "375605"
            Nom = "tracoma"
            Prenom = "l'invincible"
        End Sub
     
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     
            Me.TxtMatricule.Text = Matricule
            Me.TxtNom.Text = Nom
            Me.TxtPrenom.Text = Prenom
     
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            If My.Forms.Form2.ShowDialog = DialogResult.OK Then
                Matricule = My.Forms.Form2.Matricule
                Nom = My.Forms.Form2.Nom
                Prenom = My.Forms.Form2.Prenom
            End If
     
     
        End Sub
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
     
            If My.Forms.Form3.ShowDialog = DialogResult.OK Then
                Matricule = My.Forms.Form3.Matricule
                Nom = My.Forms.Form3.Nom
                Prenom = My.Forms.Form3.Prenom
            End If
     
     
     
        End Sub
     
     
     
     
     
    End Class
    code .vb du Form2:


    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
     
     
    Public Class Form2
        Property Matricule() As String
            Get
                Return Me.TxtMatricule.Text
            End Get
            Set(ByVal Value As String)
                Me.TxtMatricule.Text = Value
            End Set
        End Property
        Property Nom() As String
            Get
                Return Me.TxtNom.Text
            End Get
            Set(ByVal Value As String)
                Me.TxtNom.Text = Value
            End Set
        End Property
        Property Prenom() As String
            Get
                Return Me.TxtPrenom.Text
            End Get
            Set(ByVal Value As String)
                Me.TxtPrenom.Text = Value
            End Set
        End Property
        Public Sub New()
     
            ' Cet appel est requis par le concepteur.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
            Me.AcceptButton = ButtonOK
            Me.CancelButton = ButtonCancel
     
     
        End Sub
        Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Me.TxtMatricule.Text = My.Forms.Form1.Matricule
            Me.TxtNom.Text = My.Forms.Form1.Nom
            Me.TxtPrenom.Text = My.Forms.Form1.Prenom
        End Sub
        Private Sub ButtonOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOK.Click
            Me.DialogResult = System.Windows.Forms.DialogResult.OK
            Me.Close()
        End Sub
     
        Private Sub ButtonCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCancel.Click
            Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
            Me.Close()
        End Sub
     
     
     
     
    End Class

    Idem code pour Form3....
    bon code....

Discussions similaires

  1. Comment créer une fonction dans OpenERP
    Par Boubaker Abdallah dans le forum Odoo (ex-OpenERP)
    Réponses: 7
    Dernier message: 27/04/2014, 23h34
  2. comment afficher une image dans Visual basic 2008?
    Par norddist dans le forum VB.NET
    Réponses: 9
    Dernier message: 07/08/2010, 18h59
  3. Créer une fonction dans sybase
    Par trungsi dans le forum Adaptive Server Enterprise
    Réponses: 14
    Dernier message: 20/08/2008, 12h22
  4. Créer une fonction dans une fonction
    Par chris81 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 20/12/2007, 15h50
  5. comment créer une fonction dans un activex
    Par barhoom dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/03/2007, 18h19

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