Partage
  • Partager sur Facebook
  • Partager sur Twitter

[VB.net] Gérer des évenements

Entrée/Sortie de zone d'un formulaire

    20 mai 2011 à 10:01:49

    Bonjour.
    J'ai 3 datagridview dans un winform, et je voudrais que, lorsque je suis en mode edition dans une DGV (normalement validée par un bouton "sauver les changements") et que je clique sur une autre datagridview => Et seulement sur une autre datagridview <=, un Messagebox apparaisse pour prevenir que l'édition de la zone en cours n'a pas été sauvegardée.
    Je me suis penché sur le "DataGridView1.Leave", mais quand je clique sur le bouton "Sauver les changements", mon message d'erreur apparait. Comment faire pour faire apparaitre ce messagebox uniquement quand je clique sur une des deux autres datagridview?

    Résumé :
    Comment faire pour détecter si c'est l'élément B ou C qui va prendre le focus quand je quitte la zone A?
    Comment faire pour que rien ne se passe si on quitte la zone A si on clique sur un bouton?
    C'est très important que la vérification soit faite en quittant la zone A et non en entrant dans la zone B ou C, car entrer en zone B pourrait modifier la zone A.
    Autre chose, une fois que ma messagebox s'affichera au moment voulu, est il possible de simuler un click sur le bouton dans le code afin de provoquer son évenement? (bouton.PerformClick() , j'avais pas tappé les bons mots clés sur google)


    Edit : bon je suis passé par DGV1.Enter juste pour voir, et le truc bizarre c'est que ca a quasiment le comportement que je voudrais, à 1 détail près.
    J'ai donné une valeur à une variable si une des zones est en mode edition, et sur DGV1.Enter je fais un test sur cette variable. Si elle a la valeur X, DGV2 est en cours d'edition, et donc on affiche un msgbox pour vérifier si l'utilisateur a cliqué sciemment sur DGV1. Et c'est là que c'est bizarre. Quand je clique sur la ligne DGV1, le messagebox apparait comme prévu mais du coup la ligne sur laquelle on a cliqué n'est pas sélectionnée. Comment ça se fait?



    Merci

    Screenshot de la fenêtre pour éclaircir mes propos :
    • Partager sur Facebook
    • Partager sur Twitter

    [VB.net] Gérer des évenements

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown