Formulaire minimisé ne veut pas se remettre à windowstate normal

peter_zarzour Messages postés 16 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 16 décembre 2015 - Modifié par peter_zarzour le 3/12/2015 à 20:38
 peter_zarzour - 18 déc. 2015 à 19:07
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

8 réponses

Zermelo Messages postés 378 Date d'inscription samedi 22 septembre 2012 Statut Membre Dernière intervention 13 août 2017 14
4 déc. 2015 à 16:08
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.
1
peter_zarzour Messages postés 16 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 16 décembre 2015
4 déc. 2015 à 19:26
Bonjour

Je ne comprends pas votre partie sur la msgbox.. désolé.. c'est peut-être ironique ; ) vous me l'expliquerez

et pour le reste.. je viens de le faire et ça me donne une tonne d'erreurs

je dois changer des
 = 
pour des
"is"
, je dois déclarer des
x
de mes
for x = 0 to
qui sont déjà déclarés plus haut

il y a une tonne d'erreurs... c'est un énorme programme...
dois-je faire tous ces changements absolument pour que mes forms puisse apparaîtrent quand je click dessus dans la barre des tâches?

pour le code je vous l'ai donné c'est :
 form2.show, form3.show
; )

Merci de votre aide
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
4 déc. 2015 à 19:33
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
0
Zermelo Messages postés 378 Date d'inscription samedi 22 septembre 2012 Statut Membre Dernière intervention 13 août 2017 14 > peter_zarzour Messages postés 16 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 16 décembre 2015
4 déc. 2015 à 20:36
Je parle de la totalité de votre code.
0
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
5 déc. 2015 à 13:48
Mon code est très long.. des milliers de pages... voulez-vous une partie de mon code?
0
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
16 déc. 2015 à 16:45
Salut... j'avais marqué comme résolu mais le bug est revenu... pourrais-tu m'aider encore s'il te plaît? : )

Voici ce que j'ai fait... comme le problème était la form 4 et 5, j'ai reprogrammé pour que ça arrête à 3 afin de ne plus utiliser les form4 et 5 ... je m'en tient à 3 messagebox personnnalisées

Mais maintenant, le problème est apparu à la form3 ce qui n'était jamais arrivé

J'ai eu un autre bug et ce n'était pas mon code l'erreur.. c'était une resource qui causait le bug

Alors dans ce cas-ci je crois aussi que ce n'est pas le code qui est le bug puisqu'il y a 5 forms identiques et que seulement les form4 et 5 ne revenait pas windowstate normal et maintenant que j'ai changer le code pour que seulement les form1-2-3 fonctionnent, le bug s'applique à la form3

Voulez-vous quand même mon code et si oui lequel?

Merci beaucoup de m'aider le bud est là depuis maintenant trop longtemps

Bonne journée!

La vie est belle!
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
3 déc. 2015 à 20:37
Bonsoir,

VBA, VBS, VB6 VB.Net?
0
peter_zarzour Messages postés 16 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 16 décembre 2015
3 déc. 2015 à 20:39
c'est vb net je l'ai rajouté maintenant dans mon premier message!

Merci
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
3 déc. 2015 à 20:48
Je demande le déplacement dans le bon forum.
0
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 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024
3 déc. 2015 à 20:50
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
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
3 déc. 2015 à 20:56
Déplacé.
0
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 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024
3 déc. 2015 à 21:15
Merci!!
0
Zermelo Messages postés 378 Date d'inscription samedi 22 septembre 2012 Statut Membre Dernière intervention 13 août 2017 14
5 déc. 2015 à 10:08
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.
0
peter_zarzour Messages postés 16 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 16 décembre 2015
5 déc. 2015 à 13:49
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 ; )
0
Zermelo Messages postés 378 Date d'inscription samedi 22 septembre 2012 Statut Membre Dernière intervention 13 août 2017 14 > peter_zarzour Messages postés 16 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 16 décembre 2015
5 déc. 2015 à 14:32
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.
0
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
Modifié par peter_zarzour le 5/12/2015 à 15:18
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
0
Zermelo Messages postés 378 Date d'inscription samedi 22 septembre 2012 Statut Membre Dernière intervention 13 août 2017 14 > peter_zarzour Messages postés 16 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 16 décembre 2015
5 déc. 2015 à 16:35
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.
À+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
5 déc. 2015 à 16:18
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?
0
peter_zarzour Messages postés 16 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 16 décembre 2015
5 déc. 2015 à 22:24
Merci.. je vérifie ça!!!
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
5 déc. 2015 à 21:58
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)
0
peter_zarzour Messages postés 16 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 16 décembre 2015
5 déc. 2015 à 22:26
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
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137 > peter_zarzour Messages postés 16 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 16 décembre 2015
6 déc. 2015 à 07:55
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 déc. 2015 à 07:06
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

0
peter_zarzour Messages postés 16 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 16 décembre 2015
6 déc. 2015 à 19:14
C'est pour ça que je ne voulais pas mettre le code au complet ; )
0
peter_zarzour Messages postés 16 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 16 décembre 2015
6 déc. 2015 à 19:17
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 ; )
0
Rejoignez-nous