Probleme de boutton actif

Signaler
Messages postés
34
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
4 janvier 2012
-
 Utilisateur anonyme -
bonjour
j'ai cree 2 textbox ou l'utilisateur vient mettre des donnees numerique puis vient appuyer sur un boutton qui va calculer le resultat
il faut rentrer obligatoirement des donnees dans les 2 textbox pour que le resultat marche à l'appuie sur le boutton

donc je voudrais blocker le boutton tant qu'il y a pas des donnees numerique dans les 2 textbox
merci
a+



<img src="/imgs2/

12 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Salut

Bah tu fais ces tests de contenu dans le _Click du bouton avec un simple If

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
34
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
4 janvier 2012

merci pour la reponse
j'ai fait ca et ca marche pas
If TextBox1.Text.Length 0 And TextBox2.Text.Length 0 Then convertir.Enabled = False

<img src="/imgs2/
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
Bonjour,

Essaye ceci qui marche en VB6 (pas testé en .NET)

convertir.Enabled=((TextBox1.Text <> "") and (TextBox2.Text <> ""))

Attention, c'est du VB6, il faudra peut-être modifier ce bout de code pour le faire fonctionner en .NET.

Calade

Salut,
tu peux faire un truc de ce genre:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Button1.Enabled = False
    End Sub

    Private Sub TextBox2_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox2.KeyUp
        If Val(TextBox1.Text) + Val(TextBox2.Text) > 0 Then
            Button1.Enabled = True
        Else
            Button1.Enabled = False
        End If
    End Sub

    Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
        If Val(TextBox1.Text) + Val(TextBox2.Text) > 0 Then
            Button1.Enabled = True
        Else
            Button1.Enabled = False
        End If
    End Sub


Bonnes fêtes




CF2i - Guadeloupe
Ingénierie Informatique

Ou encore :
        If IsNumeric(TextBox1.Text) True And IsNumeric(TextBox2.Text) True Then
            Button1.Enabled = True
        Else
            Button1.Enabled = False
        End If


Me parait plus adapté...




CF2i - Guadeloupe
Ingénierie Informatique

Re:
Tu peux aussi ajouter:
  Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
        TextBox1.Text = Replace(TextBox1.Text, ".", ",")


Si tu calcules les décimales il faut remplacer les "." par ","



CF2i - Guadeloupe
Ingénierie Informatique

Je recommence tout

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Button1.Enabled = False
    End Sub

    Private Sub TextBox2_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox2.KeyUp
        TextBox2.Text = Replace(TextBox2.Text, ".", ",")
        TextBox2.Select(TextBox2.Text.Length, 1)
        If IsNumeric(TextBox1.Text) True And IsNumeric(TextBox2.Text) True Then
            Button1.Enabled = True
        Else
            Button1.Enabled = False
        End If
    End Sub

    Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
        TextBox1.Text = Replace(TextBox1.Text, ".", ",")
        TextBox1.Select(TextBox1.Text.Length, 1)
        If IsNumeric(TextBox1.Text) True And IsNumeric(TextBox2.Text) True Then
            Button1.Enabled = True
        Else
            Button1.Enabled = False
        End If
    End Sub



CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut

une autre proposition un peu plus nette euh net
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Button1.Enabled = False

    End Sub

    Private Sub TextBox2_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox2.KeyUp
        Dim x, y As Double
        If Double.TryParse(DirectCast(sender, TextBox).Text, x) And Double.TryParse(TextBox1.Text, y) Then
            Button1.Enabled = True
        Else
            Button1.Enabled = False
        End If
    End Sub

    Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
        Dim x, y As Double
        If Double.TryParse(DirectCast(sender, TextBox).Text, x) And Double.TryParse(TextBox2.Text, y) Then
            Button1.Enabled = True
        Else
            Button1.Enabled = False
        End If
    End Sub

   
End Class

Salut shay,
Comment ça va?

un peu plus nette euh net

t'arrêtes de faire des jeux de mots...

Oui j'ai pas testé mais c'est surement une autre façon de s'y prendre.

Joyeuses fêtes




CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut Acive

toujours le gel 26
j'ai copié ton code et les erreurs du fait
que replace et isnumeric sont absolètes
j'ai décoché la reference visual basic ce
qui oblige de coder en net

Re:
Tu veux dire gel -26...
Nous avons ici un gros problème de père noel, je l'ai vu au centre commercial hier avec une doudoune rouge épaisse... il fait pitié... et tu passes à coté en débardeur... (le pauvre)

Alors c'est clair que isnumeric et replace c'est du vb6 (voir plus ancien) donc obsolète.
L'idée c'est qu'il c'est que 'bibou' comprenne le fonctionnement (c'est plus détaillé en vb6 je pense)
blocker le boutton tant qu'il y a pas des donnees numerique dans les 2 textbox


Bonne fêtes





CF2i - Guadeloupe
Ingénierie Informatique

Mais je pense aussi que t'as raison pour le gents qui débutent en .Net il vaux mieux prendre des habitudes nouvelles.
C'est parce qu'on est des anciens dis-donc!...





CF2i - Guadeloupe
Ingénierie Informatique