Formulaire minimisé ne veut pas se remettre à windowstate normal

Signaler
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
-
 peter_zarzour -
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

Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13
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.
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13 >
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é ?
>
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?

:)
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.
>
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
Messages postés
14870
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
30 mai 2020
413
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
Messages postés
14870
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
30 mai 2020
413
Bonsoir,

VBA, VBS, VB6 VB.Net?
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015

c'est vb net je l'ai rajouté maintenant dans mon premier message!

Merci
Messages postés
14870
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
30 mai 2020
413
Je demande le déplacement dans le bon forum.
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
>
Messages postés
14870
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
30 mai 2020

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
Messages postés
14672
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2020
143
Déplacé.
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
>
Messages postés
14672
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2020

Merci!!
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13
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.
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 ; )
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13 >
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.
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015
>
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
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13 >
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.
À+
Messages postés
6778
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
29 mai 2020
107
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?
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!!!
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
224
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)
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
Messages postés
6778
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
29 mai 2020
107 >
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
224
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

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 ; )
Messages postés
16
Date d'inscription
lundi 18 mai 2015
Statut
Membre
Dernière intervention
16 décembre 2015

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 ; )