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

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

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2017
    Messages : 5
    Points : 6
    Points
    6
    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
    Expert confirmé
    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
    Points : 4 005
    Points
    4 005
    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
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2017
    Messages : 5
    Points : 6
    Points
    6
    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
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 177
    Points
    17 177
    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.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    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
    Points : 3 404
    Points
    3 404
    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 expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    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.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

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

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

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 667
    Points
    667
    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.
    Merci de ainsi que d'utiliser les boutons et

  9. #9
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    rebonjour
    J@ckHerror
    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é.
    Alas,un Tooltip sur un bouton "disabled" ne fonctionne pas , les events souris et claviers ne sont pas interceptés ...

  10. #10
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 177
    Points
    17 177
    Par défaut
    Salut

    Dans mon message post 4 je précise bien que le code est du VB6, qui me semblait il pouvait être adapté en VB.net.
    Je ne parle pas du clique mais du passage de la souris sur le bouton.

    @MABROUKI, tu confirmes, pas d'infos possible en VB.net quand Enabled=True ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  11. #11
    Expert confirmé
    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
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut

    @MABROUKI, tu confirmes, pas d'infos possible en VB.net quand Enabled=True ?
    Si Enabled=False alors pas d'interception MouseHover, MouseLeave, Click, ......etc.....

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

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Citation Envoyé par MABROUKI Voir le message
    rebonjour

    Alas,un Tooltip sur un bouton "disabled" ne fonctionne pas , les events souris et claviers ne sont pas interceptés ...
    Bien vue, je viens de tester rapidement, le Over, Enter ... rien ne passe. Ce qui est finalement assez logique.

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

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