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

Windows Forms Discussion :

Empêcher le clic sur un tabcontrol mais l'accès par code


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Homme Profil pro
    Etudiant ingénieur électronique et informatique industrielle
    Inscrit en
    Août 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Etudiant ingénieur électronique et informatique industrielle

    Informations forums :
    Inscription : Août 2015
    Messages : 28
    Points : 18
    Points
    18
    Par défaut Empêcher le clic sur un tabcontrol mais l'accès par code
    Bonjour,

    Je suis actuellement sur un code de logiciel spécifique, jusqu'à présent aucun soucis, mais j'ai une question.

    J'ai un tabcontrol que j'utilise comme "Avancement", c'est à dire pour savoir à quelle étape d'une saisie on se trouve (Etape 1, 2 ...), je veut que ces différents onglet soit accessible mais uniquement par code.

    J'entend que si l'utilisateur clique sur l'onglet suivant, cela ne fait rien, il faudrait qu'il ne voit même pas le contenu de l'onglet concerné. Actuellement, j'ai fait un système de "previousTab" qui le remet sur l'onglet d'avant s'il clic sur un autre, mais le problème c'est que le temps que le redirige, il a le temps de voir le contenu, et le code que je fait à l'ouverture s’exécute (requête SQL qui plantent parfois donc).

    J'ai essayé de disabled le tabcontrol au survol de la souris, mais pareil, l'onglet s'active, le code s’exécute, mais par contre le contenu est caché, ce qui est déjà bien, mais toujours le problème du code qui s’exécute et des requêtes qui plantent.

    Avez vous des idées pour mettre au point cela ?

    Merci de votre aide.

    Cordialement,
    Share45.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    Pour empêcher l'utilisateur d'accéder à une page du TabControl, tu peux utiliser l'event Selecting. Le paramètre de l'event TabControlCancelEventArgs comporte la propriété Cancel qui permet l'annulation de l'event. Globalement, tu peux faire un truc dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Boolean cancel = true;
    private void Avance()
    {
        cancel = false;
        tabControl1.SelectedIndex += 1;
    }
     
    private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
    {
        e.Cancel = cancel;
        cancel = true;
    }
    Il y a peut-être d'autres solutions mais celle-ce à l'air de fonctionner.

Discussions similaires

  1. Empêcher les double-clics sur les liens href
    Par Heretic dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/03/2011, 16h56
  2. Tabcontrol : changer d'onglet par code
    Par jacquesprogram dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 04/04/2009, 14h41
  3. Empêcher la redirection de page après clic sur balise a
    Par simstef dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 03/11/2008, 15h55
  4. [MySQL] Comment empêcher le renvoi d'un formulaire après clic sur rafraichir
    Par pcdj dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 18/01/2007, 23h42
  5. Réponses: 9
    Dernier message: 23/02/2004, 19h14

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