CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Visual Basic] Fermeture de class

Rempli
Rempli
Niveau 10
29 septembre 2013 à 11:31:06

Bonjour tout le monde

J'ai un problème avec Visual Basic, en gros voici mon morceau de code

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Form2.Show()
Me.Close()
End Sub

Voilà quand je veux fermer Form1 et ouvrir Form2 en appuyant sur un bouton, tout se ferme, tout le programme se ferme :-( personne ne sait comment résoudre le problème ? merci :noel:

MDA-Hack
MDA-Hack
Niveau 9
29 septembre 2013 à 11:55:54

De tête(ça fait très longtemps que je n'ai plus fait de VB)
Close() ferme le programme.

Si tu veux juste fermer la fenêtre tu peux utiliser la fonction Hide() qui cache juste ta fenêtre.

Ywnith
Ywnith
Niveau 10
29 septembre 2013 à 12:37:00

Le soucis, si je me trompe pas, c'est que tu appelles la form2 depuis la form1, or le Me.Close() libère les ressources utilisées par la form1, qui contient donc l'appel de la seconde.

Tu peux le remarquer en mettant un Thread.Sleep(5000) avant d’appeler Close() :d)

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form2.Show()
Thread.Sleep(5000)
Me.Close()
End Sub

Tu verras que ton programme tourne durant les 5 secondes.

Y'a un moyen pas très propre dans les propriétés du projet :d)
http://puu.sh/4D4pl.png
Tout en bas, change le champ pour le mettre comme sur le screen.

Second moyen plus propre :d)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim form As New Form2
form.Show()
Me.Dispose()
End Sub

:)

Rempli
Rempli
Niveau 10
29 septembre 2013 à 17:32:56

Superbe ça marche pour le Hide() je préfère le Hide c'est plus court ! :noel:

merci beaucoup ! ce forum m'aide beaucoup pour la programmation :bave:

Ywnith
Ywnith
Niveau 10
30 septembre 2013 à 04:11:03

Pense que le hide ne libère pas les ressources allouées à la Form.

Plus tard tu ne devras peut-être pas choisir car c'est plus court. :)

Rempli
Rempli
Niveau 10
03 octobre 2013 à 20:43:55

Oui je sais mais moi j'utlise Hide car j'ai pas beaucoup d'information dans mes Forms donc ça va pas prendre beaucoup de ressources :noel:

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment