Phil2Lil
Messages postés30Date d'inscriptionvendredi 14 juillet 2006StatutMembreDernière intervention 8 décembre 2011
-
5 déc. 2011 à 15:51
Phil2Lil
Messages postés30Date d'inscriptionvendredi 14 juillet 2006StatutMembreDernière intervention 8 décembre 2011
-
8 déc. 2011 à 07:49
Bonjour,
Etat des lieux :
Un formulaire de données est lié à un BindingSource
Dans Form_Load() je charge les tables par la fonction Fill
Je dois afficher une image qui dépend de L'ID en cours
Dans BindingSource_CurrentChanged() :
Dim Chemin_Fichier As String = My.Settings.Dossier_Affiches & "" & Num_FilmLabel.Text & ".jpg"
If System.IO.File.Exists(Chemin_Fichier) = True Then
AffichePictureBox.Image = Image.FromFile(Chemin_Fichier)
Else
AffichePictureBox.Image = Nothing
End If
Au démarrage, l'image du 1er enregistrement ne s'affiche pas.
Doit-on passer par un autre évènement que CurrentChanged ?
Ou peut-être appeler CurrentChanged dans le Form_Load ?
Merci pour votre éclairage.
A voir également:
Problème premier affichage d'un Formulaire de données VB2010
Phil2Lil
Messages postés30Date d'inscriptionvendredi 14 juillet 2006StatutMembreDernière intervention 8 décembre 2011 8 déc. 2011 à 07:49
Bonjour,
J'ai finalement trouvé d'où venait mon erreur. Pour ceux qui auraient le même problème voici la solution :
Les instructions dans l'événement BindingSource_CurrentChanged() sont bien placées. Le seul défaut est que le premier enregistrement affiché n'est pas considéré comme étant un changement d'enregistrement puisqu'il n'y en avait pas d'autre affiché avant celui-ci. Il existe un événement dans la classe Form qui est approprié à ce que je dois obtenir, c'est l'événement Shown. L'événement Shown est déclenché uniquement la première fois qu'un formulaire est affiché. J'ai déplacé le code de l'événement CurrentChanged dans une nouvelle procédure, et j'appelle cette procédure à la fois dans l'événement Shown et dans l'événement CurrentChanged.
Ce qui donne le code suivant :
Private Sub FilmsBindingSource_CurrentChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles FilmsBindingSource.CurrentChanged
' L'évènement se produit quand on change d'enregistrement
Eléments_Fiche()
End Sub
Private Sub Eléments_Fiche()
' Modifie certains éléments de la fiche
If Num_AllocinéTextBox.Text = "" Then
Bouton_Fiche_Allociné.Enabled = False
Else
Bouton_Fiche_Allociné.Enabled = True
End If
Dim Chemin_Fichier As String = My.Settings.Dossier_Affiches & "" & Num_FilmLabel.Text & ".jpg"
If System.IO.File.Exists(Chemin_Fichier) = True Then
AffichePictureBox.Image = Image.FromFile(Chemin_Fichier)
Else
AffichePictureBox.Image = Nothing
End If
End Sub
Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
' L'événement Shown est déclenché uniquement la première fois qu'un formulaire est affiché
Eléments_Fiche()
End Sub