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 :

Valeur CheckBox erronee dans Function


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 28
    Points : 35
    Points
    35
    Par défaut Valeur CheckBox erronee dans Function
    Bonjour a tous/toutes,

    me voila aujourd'hui encore confronte a un leger probleme. Je souhaite tester la valeur "Checked" d'un Checkbox a l'interieur d'une Function. Cette Function est execute dans un BackgroundWorker :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub MyBgW_DoWork(ByVal sender...
    Dim N As Integer
    For N = 1 to TOTAL Step + 1
    MaFunction(N)
    Next N
    End Sub
     
     
    Public Function MaFunction(ByRef N As Integer)
    If MonCheckBox.Checked = True Then
    ...
    End If
    Voila c'est tout simple, le soucis c'est que la valeur de MonCheckBox est toujours a False dans la Function.
    Voici le resultat des tests:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub MyBgW_DoWork(ByVal sender...
    MsgBox(MonCheckBox.Checked.ToString) '<------- renvoie "True"
    Dim N As Integer
    For N = 1 to TOTAL Step + 1
    MaFunction(N)
    Next N
    End Sub
     
     
    Public Function MaFunction(ByRef N As Integer)
    MsgBox(MonCheckBox.Checked.ToString) '<------- renvoie "False"
    If MonCheckBox.Checked = True Then
    ...
    End If

    Je me demande donc comment passer le status de MonCheckedBox dans la Function. Si vous avez des idees, n'hesitez pas

    Merci d'avance et a bientot!

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    les threads (et donc le backgroundworker) ne peuvent pas modifier des controles
    en théorie ils peuvent les lire par contre, peut etre que ca vient de là que ca te renvoie une valeur erronée

    stocke la valeur dans une variable avant de démarrer le thread

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 28
    Points : 35
    Points
    35
    Par défaut
    Salut Pol,
    merci pour ton aide. En fait,
    ...passer le status de MonCheckedBox dans la Function...
    est tout simple.
    J'ai juste ajoute un parametre Boolean dans la Function, associe a MonCheckBox.Checked :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub MyBgW_DoWork(ByVal sender...
    Dim N As Integer
    For N = 1 to TOTAL Step + 1
    MaFunction(N, MonCheckBox.Checked)
    Next N
    End Sub
     
     
    Public Function MaFunction(ByRef N As Integer, ByVal MonCheckBox As Boolean)
    If MonCheckBox = True Then 
    ...
    End If
    Comme quoi en expliquant "assez" clairement la situation on arrive plus facilement a trouver une solution!

    Surement a bientot...

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    en plus je dis nimp, dans la première fonction tu es déjà déporté sur le thread
    donc je comprends vraiment pas pourquoi quelques pico secondes plus tard ca te dit false ...

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

Discussions similaires

  1. [Débutant] Enregistrer valeur CheckBox & RadioButton dans fichier.txt
    Par zitoune31 dans le forum VB.NET
    Réponses: 8
    Dernier message: 26/10/2012, 23h00
  2. Valeur checkbox et radiobutton dans session
    Par ddove53 dans le forum C#
    Réponses: 0
    Dernier message: 28/06/2010, 12h05
  3. Réponses: 0
    Dernier message: 22/10/2009, 11h55
  4. Inserer valeur checkbox dans MySQL
    Par Kornikopic dans le forum IHM
    Réponses: 3
    Dernier message: 19/06/2007, 14h22

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