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 :

petit souci de traitement


Sujet :

VB.NET

  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut petit souci de traitement
    Bonjour tout le monde,

    Dans mon application j'appelle une Form qui est en fait l'affichage d'un aperçu, dessus j'ai un webbrowser qui m'affiche l'aperçu et 2 boutons (Valider et Annuler), je voudrais que cette classe me renvoie un boolean pour savoir si je dois créer ou non la fiche dans l'aperçu.
    Le problème c'est que je ne vois pas comment faire...

    Voici mon code pour l'instant :

    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
    Public Class FenetreApercu
     
        Dim creer As Boolean = False
     
        Public Function AffichageApercu(ByVal chemin As String)
            WebBrowserApercu.Navigate(chemin)
            Return creer
        End Function
     
        Private Sub ButtonValider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonValider.Click
            creer = True
        End Sub
     
        Private Sub ButtonAnnuler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAnnuler.Click
            creer = False
        End Sub
    End Class
    Ce qu'il faudrait, c'est que mes 2 évènements click soit imbriquer dans la fonction AffichageApercu mais je ne sais pas si c'est possible...

    J'ai également essayé ça mais la msgBox arrive avant le form donc ça n'a pas de sens !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Class FenetreApercu
     
        Dim creer As Boolean = False
     
        Public Function AffichageApercu(ByVal chemin As String)
            WebBrowserApercu.Navigate(chemin)
            If MsgBox("Créer cette fiche ?", MsgBoxStyle.OkCancel, "Validation") = 1 Then
                creer = True
            Else
                creer = False
            End If
            Return creer
        End Function
    End Class
    Donc voila si vous aviez une idée de comment faire ce serait sympa d'éclairer ma lanterne...

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    En fait je crois que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function AffichageApercu(ByVal chemin As String)
            WebBrowserApercu.Navigate(chemin)
            'Ici il me faudrait une commande qui attende que l'un des deux boutons soit cliqué
            Return creer
        End Function

  3. #3
    Membre très actif Avatar de The_Big_Lebowski
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 225
    Par défaut
    Tu peux associer un bouton Valider et un bouton Annuler dans les propriétés CancelButton et AcceptButton de ton formulaire frmApercu via ton designer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim F as new frmApercu
    If F.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
       'Tu effectues ton traitement ici
    End If

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    D'abord merci de m'aider.

    Donc j'ai fait ça,

    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
     
    'ButtonValider
            '
            Me.ButtonValider.Location = New System.Drawing.Point(12, 12)
            Me.ButtonValider.Name = "ButtonValider"
            Me.ButtonValider.Size = New System.Drawing.Size(106, 23)
            Me.ButtonValider.TabIndex = 12
            Me.ButtonValider.Text = "Valider cette fiche"
            Me.ButtonValider.UseVisualStyleBackColor = True
            Me.ButtonValider = AcceptButton
            'Me.ButtonValider.Visible = True
            '
            'ButtonAnnuler
            '
            Me.ButtonAnnuler.Location = New System.Drawing.Point(124, 12)
            Me.ButtonAnnuler.Name = "ButtonAnnuler"
            Me.ButtonAnnuler.Size = New System.Drawing.Size(112, 23)
            Me.ButtonAnnuler.TabIndex = 13
            Me.ButtonAnnuler.Text = "Annuler cette fiche"
            Me.ButtonAnnuler.UseVisualStyleBackColor = True
            Me.ButtonAnnuler = CancelButton
            'Me.ButtonAnnuler.Visible = True
    Mais les boutons sont invisibles du coup sur mon form, donc j'ai essayé de les mettre à visible=true de force mais cette fois l'InitializeComponent plante...

    Sinon c'est exactement ce dont j'avais besoin mais je n'arrive pas à comprendre comment gérer les cancelButton et acceptButton

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    C'est bon j'ai trouvé c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.AcceptButton = ButtonValider
    et non l'inverse

    merci beaucoup le duc

    Edit : en fait il reste un problème, il ne me détecte jamais le "AcceptButton" pour lui c'est toujours un cancel, que je clic sur l'un ou l'autre bouton...

  6. #6
    Membre très actif Avatar de The_Big_Lebowski
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 225
    Par défaut
    Je parlais du Designer, pas de ton fichier .designer.
    merci beaucoup le duc
    Tu connais le Duc

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Donc du coup j'ai fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Private Sub ButtonValider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonValider.Click
            Me.AcceptButton = ButtonValider
            Me.Close()
        End Sub
     
        Private Sub ButtonAnnuler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAnnuler.Click
            Me.CancelButton = ButtonAnnuler
            Me.Close()
        End Sub
    Mais pour VS c'est tout le temps un cancel, enfin je n'en suis pas tout à fait sûr non plus mais en tout cas il ne passe jamais la condition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim apercu As New FenetreApercu(pdf)
                    If apercu.ShowDialog(Me) = Windows.Forms.DialogResult.Ok Then
                        'Mon traitement
                    Else
                        Dim th As New System.Threading.Thread(AddressOf deletePDF) 'démarrage d'un thread parralèle pour supprimer le pdf temporaire
                        th.Start()
                    End If

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Bon ok, alors j'ai avancé un peu, sur le msdn j'ai vu que je devais implémenter l'interface IButtonControl (ce que j'ai fait) mais ça ne change pas grand chose pour le moment, alors si quelqu'un pouvait me montrer la sortie du tunnel

    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
    Public Class FenetreApercu
        Implements IButtonControl
     
     
        Dim creer As Boolean = False
        Dim myDialogResult As DialogResult
     
        Public Sub New()
            ' Cet appel est requis par le concepteur.
            InitializeComponent()
        End Sub
     
        Public Sub New(ByVal chemin)
            ' Cet appel est requis par le concepteur.
            InitializeComponent()
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
            AffichageApercu(chemin)
        End Sub
     
        Public Sub AffichageApercu(ByVal chemin As String)
            WebBrowserApercu.Navigate(chemin)
        End Sub
     
     
        Private Sub ButtonValider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonValider.Click
            'Me.AcceptButton = ButtonValider
            Me.Close()
        End Sub
     
        Private Sub ButtonAnnuler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAnnuler.Click
            'Me.CancelButton = ButtonAnnuler
            Me.Close()
        End Sub
     
        Public Property DialogResult1 As System.Windows.Forms.DialogResult Implements System.Windows.Forms.IButtonControl.DialogResult
            Get
                Return myDialogResult
            End Get
            Set(ByVal value As System.Windows.Forms.DialogResult)
                myDialogResult = value
            End Set
        End Property
     
        Public Sub NotifyDefault(ByVal value As Boolean) Implements System.Windows.Forms.IButtonControl.NotifyDefault
     
        End Sub
     
        Public Sub PerformClick() Implements System.Windows.Forms.IButtonControl.PerformClick
     
        End Sub
    End Class

  9. #9
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Terminé !!!

    Dans le form principal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim apercu As New FenetreApercu(pdf)
                    apercu.ShowDialog(Me)
                    If apercu.DialogResult1 = vbOK Then
                            'Mon traitement
                    End If
    dans le form d'aperçu :

    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
     
     Private Sub ButtonValider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonValider.Click
            DialogResult1 = vbOK
            Me.Close()
        End Sub
     
        Private Sub ButtonAnnuler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAnnuler.Click
            Me.Close()
        End Sub
     
        Public Property DialogResult1 As System.Windows.Forms.DialogResult Implements System.Windows.Forms.IButtonControl.DialogResult
            Get
                Return myDialogResult
            End Get
            Set(ByVal value As System.Windows.Forms.DialogResult)
                myDialogResult = value
            End Set
        End Property

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 04/08/2006, 16h24
  2. petit soucy de fenetre cmd
    Par FeetloveR666 dans le forum Windows
    Réponses: 5
    Dernier message: 03/07/2004, 15h24
  3. petit soucis lors d'un LOAD DATA INFILE
    Par Jovial dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 04/06/2004, 12h58
  4. Réponses: 6
    Dernier message: 21/01/2004, 14h25
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 17h52

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