Formulaire minimisé ne veut pas se remettre à windowstate normal

Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
-
Bonjour,

J'ai un formulaire principale qui lui est minimisé et je peux le remettre à normal en cliquant sur son icone en bas dans la barre des tâches de windows 7

Maintenant, j'ai 5 autres fenêtres qui s'ouvrent suite à des recherches.. form2, form3, form4, form5 et form6 (ils sont visible par - form2.show, form3.show... etc)

Je vois les 6 forms en bas dans la barre des tâches mais je ne peux les remettre à windowstate normal (sauf la form1 principale (qui n'est pas parent!))

Merci de m'aider c'est un bug majeur et il m'est impossible de lire les information trouvées et affichées sur les 5 autres form (je m'en sers comme des msgbox personnalisées avec graphisme au lieu d'appeler une messagebox normale grise)

Je travail en vb net
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13
1
Merci
Bonjour peter_zarzour.

Tout d'abord, j'ai vu dans votre texte un msgbox qui prouve que vous n'avez pas encore tout ce qu'il faut pour être un vrai VbNettiste :
Ouvrez My project, puis
– dans l'onglet Compiler,
––– mettre Option Explicit sur ON,
––– mettre Option Strict sur ON,
––– mettre Option Infer sur Off,
– dans l'onglet Références, désactiver Microsoft.

D'autre part, il serait utile que vous nous donniez votre code, sans oublier la coloration syntaxique.

Cordialement.

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Zermelo
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13 > peter_zarzour
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
-
Bonsoir.
Avez-vous faites toutes les corrections que je vous ai indiqué ?
> Zermelo
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
-
Salut

En fait j'ai fait ce que vous m'aviez dit mais comme j'ai indiqué un peu plus haut... quand je fais ce que vous me dites... il y a une tonne d'erreur... voulez-vous vraiment que je recode 5000 pages 8.5x11 de code pour tester une hypothèse? si oui... êtes-vous assurez à 1000/100 que la solution est la bonne..

si non.. pourrions-nous essayez d'autres hypothèses d'abord?

:)
Zermelo
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13 > peter_zarzour -
Je me retire de cette discussion.
> Zermelo
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
-
C'est très dommage.. mais bon... c'est vous qui prenez la décision

Bonne chance avec des cas plus faciles!

Merci tout de même de votre aide

À la prochaine

: )

Pierre
Whismeril
Messages postés
14042
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 décembre 2019
324 -
Bonsoir, pour comprendre la remarque de Zermelo sur le messageBox tu peux lire cet article
http://codes-sources.commentcamarche.net/faq/11151-pourquoi-mon-code-vb6-vba-ne-marche-pas-en-vb-net
Commenter la réponse de Zermelo
Messages postés
14042
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 décembre 2019
324
0
Merci
Bonsoir,

VBA, VBS, VB6 VB.Net?
Commenter la réponse de Whismeril
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
0
Merci
c'est vb net je l'ai rajouté maintenant dans mon premier message!

Merci
Whismeril
Messages postés
14042
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 décembre 2019
324 -
Je demande le déplacement dans le bon forum.
peter_zarzour
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
> Whismeril
Messages postés
14042
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 décembre 2019
-
ok

mais je vois que je suis dans vb net

pourriez-vous me préciser ce que vous voulez et me dire comment le faire..

Merci
NHenry
Messages postés
14600
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 décembre 2019
137 -
Déplacé.
peter_zarzour
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
> NHenry
Messages postés
14600
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 décembre 2019
-
Merci!!
Commenter la réponse de peter_zarzour
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13
0
Merci
Bonjour peter_zarzour.

J'ai écrit le programme suivant,

Public Class Accueil

Private Sub btn1_Click(sender As Object, e As EventArgs) Handles btn1.Click
Form1.Show()
End Sub

Private Sub btn2_Click(sender As Object, e As EventArgs) Handles btn2.Click
Form2.Show()
End Sub

End Class


et, après avoir minimisé manuellement les formulaires Form1 et Form2, je les ai, toujours manuellement, remis sans difficulté en
WindowsState normal. Et tout ça sans l'aide de Merlin l'enchanteur.

Cordialement.
peter_zarzour
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
-
Est-ce encore de l'ironie? Parce que j'ai pas besoin de savoir ce que je sais déjà et que je fais déjà moi aussi Zemerlo... Si je suis ici c'est justement parce que nous aurions besoin de Merllin l'enchenteur ; )
Zermelo
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13 > peter_zarzour
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
-
La première fois, ce n'était pas de l'ironie. C'était seulement que la présence du msg, au lieu du messagebox, prouvait que vous n'étiez dans une configuration pure et dure de Vb.net, et qu'en conséquence je devais vous dire comment y remédier.
La deuxième fois, il y avait certes un soupçon d'ironie, mais croyez bien que j'ai fait et testé le programme que je vous est dit. Alors dites-moi de façon détaillée dans quelles conditions vous ne savez plus remettre WindowsState à normal.
peter_zarzour
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
> Zermelo
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
-
hahahahha

J'aime bien vos explications

Lorsque mes forms sont minimiser et que je click dessus pour les remettre à ma vue (ce qui revient à dire qu'en code elle redeviendraient windowstate normal), elles sont bloquées dans la barre des tâches de windows 7 en bas..

je click sur ma form1, la principale et ça fonctionne... je click sur d'autres forms et ça fonctionne.. mais ces 5 form là, elle se bloquent dans la barre des tâches :)

Merci
Zermelo
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13 > peter_zarzour
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
-
hihihihhi
Il y a donc une piste : comparer les traitements de ces formes là avec ceux des autres.
D'autre part, je vous rappelle ma demande de la totalité de votre code, en vous précisant que je me retire au moindre msgbox ou autre résidu de Vb6.
À+
Commenter la réponse de Zermelo
Messages postés
6434
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
13 décembre 2019
91
0
Merci
Bonjour,

Peut-être en prenant connaissance de cela:

http://plasserre.developpez.com/cours/vb-net/?page=windows-forms1#LX-C


les 5 autres form (je m'en sers comme des msgbox personnalisées avec graphisme au lieu d'appeler une messagebox normale grise)

cela ne viendrait pas du graphisme?
peter_zarzour
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
-
Merci.. je vérifie ça!!!
Commenter la réponse de cs_Le Pivert
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
Bonjour,
1) Zermelo (que je salue) t'a demandé à diverses reprises de montrer ton code. Je te rappelle que cet aspect est d'ailleurs l'une des règles de ce forum. Essaye donc d'éviter tes "hahahaha" totalement inutiles et montre-le enfin, ce code.
2) je ne connais pas VB.Net (je développe sous VB6), mais ce genre de problème (qui peut survenir également sous VB6) peut être le résultat d'un Form affiché en Modal (probablement ton form1)
peter_zarzour
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
-
Bonjour

1. SELON MOI, hahaha c'est pertinent.. ça aide à garder des bonnes relations.. la nourriture de l'âme ce n'est pas du code.. c'est les humains.. (toujours selon moi)

2.

voici le code qui appel une des 5 forms problématiques (la form qui s'appelle Rappels :

    If Rappels.Visible = False Then

Dim estCeQue12ou3EstOuvert As Boolean = False

If JeVaisLeFairePrio1Frm.Visible = True Or JeVaisLeFaireAussiPrio2frm.Visible = True Or JeChoisiraiPrio3frm.Visible = True Then
estCeQue12ou3EstOuvert = True
End If

Dim estCeQueAujourdEstStateMinimised As Boolean = False

If Me.Visible = True And Me.WindowState = FormWindowState.Minimized Then
estCeQueAujourdEstStateMinimised = True
End If


Me.rappelVientDutilisateurNo = 1

Rappels.Show()


If aRemettre = True Then
Rappels.aRemettreRappel = True
End If

If avantPeriode <> "0" Then
Select Case Me.PourTousDataSet.Langues.Rows(0).Item(0)
Case "English"
Select Case avantPeriode
Case "Heure(s)"
avantPeriode = "Hour(s)"
Case "Jour(s)"
avantPeriode = "Day(s)"
Case "Semaine(s)"
avantPeriode = "Week(s)"
Case "Mois"
avantPeriode = "Month(s)"
Case "Année(s)"
avantPeriode = "Year(s)"
End Select
Rappels.Label2.Text = "Reminder - Will display in " + avantNombre.ToString + " " + avantPeriode
Rappels.CheckBox1.Text = "Remind me again"
Case "Francais"
Rappels.Label2.Text = "Rappel - Réapparaîtra dans " + avantNombre.ToString + " " + avantPeriode
End Select
Else
Select Case Me.PourTousDataSet.Langues.Rows(0).Item(0)
Case "English"
Rappels.Label2.Text = "Reminder "
Rappels.CheckBox1.Text = "Remind me again"
Case "Francais"
Rappels.Label2.Text = "Rappel"
End Select
End If


Rappels.Label1.Text = rappel


If Me.Utilisateur1DataSet.calendrierRappels.Rows(x).Item(10) <> "0" Then
Rappels.CheckBox1.Checked = True
If rappelBarre = True Then
Rappels.CheckBox1.Enabled = False
Else
Rappels.CheckBox1.Enabled = True
End If

Rappels.checkboxCheckedOuNon1 = True

Dim tousLesPeriodes As String = ""
Select Case Me.PourTousDataSet.Langues.Rows(0).Item(0)
Case "English"
Select Case Me.Utilisateur1DataSet.calendrierRappels.Rows(x).Item(10)
Case "Minute(s)"
tousLesPeriodes = "Minute(s)"
Case "Heure(s)"
tousLesPeriodes = "Hour(s)"
Case "Jour(s)"
tousLesPeriodes = "Day(s)"
Case "Semaine(s)"
tousLesPeriodes = "Week(s)"
Case "Mois"
tousLesPeriodes = "Month(s)"
Case "Année(s)"
tousLesPeriodes = "Year(s)"
Case Else
tousLesPeriodes = Me.Utilisateur1DataSet.calendrierRappels.Rows(x).Item(10)
End Select

Rappels.CheckBox1.Text = "Remind me in " + Me.Utilisateur1DataSet.calendrierRappels.Rows(x).Item(9).ToString + " " + tousLesPeriodes
Case "Francais"
Rappels.CheckBox1.Text = "Me rappeller dans " + Me.Utilisateur1DataSet.calendrierRappels.Rows(x).Item(9).ToString + " " + Me.Utilisateur1DataSet.calendrierRappels.Rows(x).Item(10).ToString
End Select


Else
Select Case Me.PourTousDataSet.Langues.Rows(0).Item(0)
Case "English"
Rappels.CheckBox1.Text = "Remind me in"
Case "Francais"
Rappels.CheckBox1.Text = "Me rappeller dans"
End Select




End If

Rappels.nomGardeRappel1 = rappel
Rappels.anneeGardeerappel1 = Me.Utilisateur1DataSet.calendrierRappels.Rows(x).Item(4)
Rappels.moisGarderappel1 = Me.Utilisateur1DataSet.calendrierRappels.Rows(x).Item(3)
Rappels.jourGardeRappel1 = Me.Utilisateur1DataSet.calendrierRappels.Rows(x).Item(2)

If recacherAujourdhuiApresRappel = True Then
idoNotify.Visible = True
Me.Visible = False
End If

Dim longueur1 As Short = Rappels.Label1.Left + Rappels.Label1.Width + 35
If longueur1 < 335 Then longueur1 = 335

If Rappels.Label2.Left + Rappels.Label2.Width > 335 Then
longueur1 = Rappels.Label2.Left + Rappels.Label2.Width + 50
Rappels.Button2.Left = longueur1
Rappels.PictureBox74.Left = longueur1
Rappels.PictureBox85.Left = longueur1 + Rappels.PictureBox74.Width + 6
Rappels.Width = Rappels.Button2.Left + Rappels.Button2.Width + 50
Dim largeurDeResolution As Short = (My.Computer.Screen.Bounds.Width - Rappels.Width) / 2
Rappels.Left = largeurDeResolution

Else
Rappels.Button2.Left = longueur1
Rappels.PictureBox74.Left = longueur1
Rappels.PictureBox85.Left = longueur1 + Rappels.PictureBox74.Width + 6
Rappels.Width = Rappels.Button2.Left + Rappels.Button2.Width + 50
Dim largeurDeResolution As Short = (My.Computer.Screen.Bounds.Width - Rappels.Width) / 2
Rappels.Left = largeurDeResolution

End If


If estCeQue12ou3EstOuvert = True Then Me.Visible = False
If estCeQueAujourdEstStateMinimised = True Then Me.WindowState = FormWindowState.Minimized


If Me.Utilisateur1DataSet.calendrierRappels.Rows(x).Item(11).ToString.Contains("*") = True Then
Rappels.Label2.ForeColor = Color.Red
End If

GoTo finRappels

End If





J'espère que c'était pertinent pour vous de voir tout ce qu'il y a autour et qui n'a pas de lien ;)




voici le code de la sub Load de la form Rappels :





'trouver le nom de l'utilisateur Actuel

'prendre le no
Dim no As Short = AujourdHuiFrm.PourTousDataSet.UtilisateurActuel.Rows(0).Item(0)
'trouver le nom qui est associé
Dim nom As String = ""
Dim x As Integer = 0
For x = 0 To AujourdHuiFrm.PourTousDataSet.Utilisateurs.Rows.Count - 1
If AujourdHuiFrm.PourTousDataSet.Utilisateurs.Rows(x).Item(0) = no Then
nom = AujourdHuiFrm.PourTousDataSet.Utilisateurs.Rows(x).Item(1)
End If
Next


Label3.Text = nom



'vois si l'utilisateur non actuel a un mot de passe
If AujourdHuiFrm.rappelVientDutilisateurNo = AujourdHuiFrm.PourTousDataSet.UtilisateurActuel.Rows(0).Item(0) Then
AujourdHuiFrm.rappelBarre = False
Else
For x = 0 To AujourdHuiFrm.PourTousDataSet.Utilisateurs.Rows.Count - 1

If AujourdHuiFrm.rappelVientDutilisateurNo = AujourdHuiFrm.PourTousDataSet.Utilisateurs.Rows(x).Item(0) Then
If AujourdHuiFrm.PourTousDataSet.Utilisateurs.Rows(x).Item(2) <> " " Then
motDePasseGarde = AujourdHuiFrm.PourTousDataSet.Utilisateurs.Rows(x).Item(2)
Label3.Text = AujourdHuiFrm.PourTousDataSet.Utilisateurs.Rows(x).Item(1)
barreOuNon = True
Label3.Visible = False
Label1.Visible = False
TextBox1.Visible = True
Button1.Visible = True
AujourdHuiFrm.rappelBarre = True
Select Case AujourdHuiFrm.PourTousDataSet.Langues.Rows(0).Item(0)
Case "English"

TextBox1.Text = "Password"
Case "Francais"
TextBox1.Text = "Mot de passe"
End Select

Exit For
End If
End If

Next
End If


désolé je ne savais pas qu'il fallait absolument mettre tout le code. Merci

3. Merci pour la solution que vous m'avez apportez
cs_Le Pivert
Messages postés
6434
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
13 décembre 2019
91 > peter_zarzour
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
-
Je ne vois que cette ligne de code, qui pourrait poser problème. Mais vu que l'on ne connais pas le nom des Form qui posent problème!

If Me.Visible = True And Me.WindowState = FormWindowState.Minimized Then
                            estCeQueAujourdEstStateMinimised = True
                        End If


Tu peux aussi ouvrir tes Form avec Show.Dialog, cela t'oblige à fermer à chaque fois le Form ouvert sauf le principal

@+ Le Pivert
Commenter la réponse de ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
La "nourriture de l'âme n'est pas du code", mais aucune âme ne serait capable de deviner dans quelle procédure se trouvent les instructions montrées dans ton premier bloc de code.
Bonne chance

peter_zarzour
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
-
C'est pour ça que je ne voulais pas mettre le code au complet ; )
Commenter la réponse de ucfoutu
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
0
Merci
j'ai trouvé!

Merci de votre aide ça a amener ma réflexion plus loin encore qu'à l'habitude..

À lire vos solution de forum et vos idées durant la discussion, j'ai découvert que :

Rappels
Rappels2
Rappel3

n'ont pas de problème

mais

Rappels4
et
Rappels5

avaient un problème

Comme c'est beaucoup trop ardu de décelé l'erreur puisque le code est identique sauf des "2", "3", "4" et "5"

J'ai créé deux nouvelles forms, j'ai copié collé le texte des autres en changeant par exemple rappels2 pour rappels3 dans le code et j'ai refait les graphiques!

Merci encore... vous m'avez aidé à pousser ma réflexion ; )
Commenter la réponse de peter_zarzour