Ce que je reproche au contrôle ErrorProvider, dans le cas d'un formulaire contenant des onglets, c'est que l'utilisateur ne voit pas les contrôles en erreur. A moins de ne pas savoir m'en servir. :-)
Dans mes formulaires, je place une barre d'outils ToolStrip avec des boutons Ajouter, Modifier, Fermer,... Et j'ai ajouté une combobox qui contient les messages indiquant les erreurs. Sur la sélection d'une erreur, le focus est donné au contrôle, et le cas échéant à l'onglet contenant le contrôle. Ainsi l'utilisateur peut rapidement comprendre pourquoi le formulaire n'est pas validé, sans avoir x messagebox d'erreur.
Voilà, si vous voyez des choses à modifier, et il doit y en avoir, je suis preneur, et je mettrais à jour la source.
Source / Exemple :
' --= =--
' Déclaration de la classe
Dim clGestionErreur As New ClasseGestionErreur
Private Sub ValideSaisies()
' Enregistrer la combobox
clGestionErreur.cboListeErreur = Me.tscboListeErreur
' Ajouter contrôle à vérifier
clGestionErreur.VerifierCtrl(Me.Textbox1, "TextBox1 - Une saisie est requise.", Me.TabPage1)
Dim i() As Integer = {1, 2}
clGestionErreur.VerifierDgv(Me.DataGridView1, i, "DataGridView1 - Une saisie est requise.", Me.TabPage3)
End Sub
' --= =--
' A la sortie du contrôle
If Me.tscboListeErreur.Items.Count > 0 Then
' Vérification de la saisie
ValideSaisies()
End If
' --= =--
Pour l'exemple et le reste du code, Cf. Zip
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.