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 :

Comment afficher un message pour un bouton désactivé. Un petit code tout simple mais j'y arrive pas.


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2017
    Messages : 5
    Par défaut Comment afficher un message pour un bouton désactivé. Un petit code tout simple mais j'y arrive pas.
    Salut,

    Voilà, je suis vraiment un débutant débutant, et j'aimerais savoir quel serais le code suivant :

    Si mon button1 est désactivé, et que l'utilisateur tente de cliquez dessus, alors il a un message d'erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If button1.Enabled = False & ... then msgbox("Vous ne pouvez pas effectué cette action.")

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Si ton bouton possède la propriété "Enabled=False" alors il n'est pas possible de cliquer dessus, donc c'est inutile de prévoir ce comportement tout simplement

    ++

  3. #3
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2017
    Messages : 5
    Par défaut
    Salut,

    Je sais que c'est "inutile" en théorique, mais pour moi c'est utilise pour que mon application soit la plus claire possible!

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    En VB6, j'ai eu l'occasion de bidouiller une solution avec un Frame (possible aussi avec un PictureBox mais plus gourmand en mémoire).
    Le CommandButton est placé dans le Frame, le Frame est placé à l'endroit ou doit être le CommandButton (Left et Top) et mêmes dimensions du CommandButton (Height et Width).
    D'apparence, on ne voit pas le Frame mais que le CommandButton .

    Au Frame, on donne sa propriété ToolTypText = "Vous ne pouvez pas effectué cette action."

    Quand par code on modifie le Enabled du CommandButton, au passage au dessus:
    • si l'état du CommandButton a été mis à Enabled = False, il est devenu ''transparent'' et c'est le Frame qui prend l'événement MouseMove, et donc affiche son ToolTypText.
    • si l'état du CommandButton a été mis à Enabled = True, il a perdu sa ''transparence'' et c'est lui qui prend tous les événements, Le Frame lui ne reçoit plus aucun événement (caché par le CommandButton) , et donc le Frame.ToolTypText n'apparait plus.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour
    tout depend de l'architecture de ton application,mais tu peux utiliser cette illusion graphique (j'ai mis le dessin du rectangle à des fins d'illustion) et un 2eme button qui active et desactive le 1er button...
    code exemple .vb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Public Class Form1
        Private rect As Rectangle
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            rect = Button1.Bounds
            Button1.Enabled = False
        End Sub
        Private Sub Form1_MouseClick(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseClick
            If rect.Contains(e.Location) Then
                MessageBox.Show("button1 desactive")
             End If
     
        End Sub
       Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
            Button1.Enabled = Not Button1.Enabled
     
        End Sub
    End Class
    nota bene: la prop Bounds est le rectangle par rapport au form parent ou toute autre control parent (à ne pas confondre avec la Prop ClientRectangle

    bon code...

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Citation Envoyé par Memorial Voir le message
    Salut,

    Je sais que c'est "inutile" en théorique, mais pour moi c'est utilise pour que mon application soit la plus claire possible!
    Apporter un comportement non attendu à un composant très basique est, selon moi, ce qui rendra ton application moins clair. Un composant grisé est, par définition, non utilisable.

  7. #7
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Par défaut
    Bonjour,

    Clairement et comme tout le monde te le dit un comportement non classique, même sur de petits éléments peu apporter des réactions étranges de la part de tes utilisateurs, et je parle par expérience !
    Au pire si vraiment tu veux dire quelque chose à ton utilisateur, j'activerais un toolstip lors du survole du bouton désactivé, mais jamais je ne permettrais un click sur un élément désactivé.

    J@ck.

  8. #8
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    Citation Envoyé par J@ckHerror Voir le message
    Au pire si vraiment tu veux dire quelque chose à ton utilisateur, j'activerais un toolstip lors du survole du bouton désactivé,
    J@ck.
    Idem.

Discussions similaires

  1. Réponses: 11
    Dernier message: 09/07/2010, 13h42
  2. [Débutant] Comment faire un compteur pour un bouton?
    Par Paulinho dans le forum AWT/Swing
    Réponses: 21
    Dernier message: 07/01/2006, 20h51
  3. [XML/CSS] Comment afficher le fond pour l'impression
    Par askeur dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 09/11/2005, 00h19
  4. Réponses: 12
    Dernier message: 03/11/2005, 18h45
  5. comment affiché un message d'erreur
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/11/2004, 12h12

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