Image dans Frame en Visual Basic

Dina -  
 calibos -
Bonjour,
J'ai un formulaire VB (Form1). Dans ce formulaire, j'ai inséré 2 Frames (Frame1 et Frame2). Dans Frame1, il y a 2 zones de texte (Text1 et Text2) qui contiennent des nombres entiers, 2 images (Image1 et Image2) et 2 boutons de commande (Affichage et Nouveau).
Au démarrage du formulaire C'est seulement le Frame1 qui doit s'afficher avec tous les objets qui y sont insérés. Alors je dois saisir un nombre dans chaque zone de texte (Text1 et Text2) et je clique sur le bouton "Afficher" pour voir le résultat. En cliquant sur ce bouton, Frame1 disparaît et Frame2 apparaît avec ce que je parle comme résultat qui est l'affichage de Image1 (si la valeur de Text1 est supérieure à celle de Text2), sinon l'affichage de Image2 (si la valeur de Text2 est supérieure à celle de Text1), sinon l'affichage de Image1 et Image2 (si la valeur de Text1 est égale à celle de Text2).
Maintenant, je peux cliquer sur le bouton "Nouveau" pour renouveler la saisie des nombres, ce qui fait réapparaître Frame1 et disparaître Frame2.
Et c'est là que je rencontre le problème : c'est qu'après, si je clique sur Affichage (après avoir saisie les nombres dans Text1 et Text2), ce sont les 2 images qui s'affichent même si les valeurs des deux zones de textes ne sont pas égales. Que faire ?
J'espère qu'il y a une solution à ce problème et je vous remercie d'avance et encore de votre aide.
Merci
Configuration: Windows XP
Firefox 3.0.14

7 réponses

  1. calibos
     
    Bonjour,

    Pas la peine de créer un nouveau Post à chaque question sur le meme sujet.

    On avait vu tout à l'heure comment affecter des valeurs aux controles Image (Image.Picture)

    Dans le code du boutton Affichage

    If val(Text1.Text)=val(Text2.Text) then
      Image3.Picture=Image1.Picture
      Image4.Picture=Image2.Picture
    End if
    If val(Text1.Text)>val(Text2.Text) then
      Image3.Picture=Image1.Picture
      Image4.Picture=""
    End if
    If val(Text1.Text)<val(Text2.Text) then
      Image3.Picture=""
      Image4.Picture=Image2.Picture
    End if


    Dans le code du bouton Nouveau
      Image3.Picture=""
      Image4.Picture=""
      Text1.Text=""
      Text2.Text=""

    A+.
    0
  2. Dina
     
    Bonjour,
    Quand j'ai fait comme vous avez dit, ça ne marche pas. On m'affiche un message d'erreur comme quoi le type n'est pas compatible. Et là on fait référence aux ""
    Merci.
    0
  3. calibos
     
    Re,

    Est-ce qu'on peut voir ce que tu as écris et qui ne marche pas?

    Merci.
    0
  4. calibos
     
    Re,

    J'ai fait un test chez moi. Effectivement ça ne marche pas avec Image1.Picture = ""
    Il faut mettre Image1.Picture = Nothing

    Voila ce que j'ai fait:

    'Boutton afficher
    Private Sub Command1_Click()
    Frame1.Visible = False
    If Val(Text1.Text) = Val(Text2.Text) Then
      Image3.Picture = Image1.Picture
      Image4.Picture = Image2.Picture
    End If
    If Val(Text1.Text) > Val(Text2.Text) Then
      Image3.Picture = Image1.Picture
      Image4.Picture = Nothing
    End If
    If Val(Text1.Text) < Val(Text2.Text) Then
      Image3.Picture = Nothing
      Image4.Picture = Image2.Picture
    End If
    Frame2.Visible = True
    End Sub
    
    'Boutton nouveau
    Private Sub Command2_Click()
      Image3.Picture = Nothing
      Image4.Picture = Nothing
      Text1.Text = ""
      Text2.Text = ""
    Frame1.Visible = True
    Frame2.Visible = False
    End Sub
    
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Dina
     
    Bonsoir,
    Je vous montre comment j'ai fait concernant le code :

    - L'interface code du formulaire :
    Private Sub Form_Load()
    Frame1.Visible = True
    Frame2.Visible = False
    End Sub
    


    - L'interface code du bouton Nouveau :
    Private Sub Cmd_Nouveau_Click()
    Frame1.Visible = True
    Frame2.Visible = False
    Image3.Picture = ""
    Image4.Picture = ""
    Text1.Text = ""
    Text2.Text = ""
    End Sub


    - L'interface code du bouton afficher :
    Private Sub Cmd_Afficher_Click()
    Frame1.Enabled = False
    Frame2.Enabled = True
    If Val(Text1.Text) = Val(Text2.Text) Then
      Image3.Picture = Image1.Picture
      Image4.Picture = Image2.Picture
    End If
    If Val(Text1.Text) > Val(Text2.Text) Then
      Image3.Picture = Image1.Picture
      Image4.Picture = ""
    End If
    If Val(Text1.Text) < Val(Text2.Text) Then
      Image3.Picture = ""
      Image4.Picture = Image2.Picture
    End If
    End Sub


    Merci.
    0
  7. Dina
     
    Bonsoir,
    J'ai fait avec Nothing et ça marche bien.
    Maintenant j'ai compris que je n'ai pas besoin de à chaque fois de nouveau post mais je sais que j'aurai d'autres questions.
    Merci et merci encore.
    0
  8. calibos
     
    et voila la correction

    Private Sub Cmd_Nouveau_Click()
    Frame1.Visible = True
    Frame2.Visible = False
    Image3.Picture = Nothing
    Image4.Picture = Nothing
    Text1.Text = ""
    Text2.Text = ""
    End Sub
    
    Private Sub Cmd_Afficher_Click()
    Frame1.Visible = False
    Frame2.Visible = True
    If Val(Text1.Text) = Val(Text2.Text) Then
      Image3.Picture = Image1.Picture
      Image4.Picture = Image2.Picture
    End If
    If Val(Text1.Text) > Val(Text2.Text) Then
      Image3.Picture = Image1.Picture
      Image4.Picture = Nothing
    End If
    If Val(Text1.Text) < Val(Text2.Text) Then
      Image3.Picture = Nothing
      Image4.Picture = Image2.Picture
    End If
    End Sub
    0