begin process at 2012 02 17 10:31:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Question très bête mais il en faut


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Question très bête mais il en faut

lundi 1 septembre 2008 à 17:06:09 | Question très bête mais il en faut

johann36

Membre Club
Bonjour,

Je crois que je détiens la question la plus bête qu'il soit mais bon il y a un début à tout.
Je souhaiterai savoir comment connaitre l'état d'ouverture d'un formulaire ou fenêtre ?

J'ai un formulaire mère lorsque je clique sur un bouton j'affiche un 2ème formulaire mais qui lui ce coule au bas du formulaire mère.
Ce que je veux donc faire c'est que lorsque je déplace mon formulaire mère le 2ème formulaire se déplace lui aussi avec les même positons c'est à dire collé en bas du formulaire mère.

Bon je crois que j'ai donné mal à la tête à tout le monde et j'espère du moins que vous avez pu comprendre mon problème.

Merci d'avance.

Johann36
lundi 1 septembre 2008 à 18:00:28 | Re : Question très bête mais il en faut

PCPT

Administrateur CodeS-SourceS
salut,

si si c'est clair, tu veux déplacer le 2e formulaire depuis le premier, mais sans test çà obligerait le chargement...

en VB6 il suffit de boucler sur la collection Forms. si elle est dedans, c'est qu'elle est chargée
je suppose que tu dois avoir un équivalent en dotnet

++

Prenez un instant pour répondre à ce sondage svp  
lundi 1 septembre 2008 à 18:34:49 | Re : Question très bête mais il en faut

gillardg

Private Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase .Load

Form2.Show()

Form2.Left =

Me .Left

Form2.Top =

Me .Top + Me .Height

End Sub

Private Sub Form1_Move( ByVal sender As Object , ByVal e As System.EventArgs) Handles Me .Move

If Form2.Visible Then

Form2.Left =

Me .Left

Form2.Top =

Me .Top + Me .Height

End If

End Sub

lundi 1 septembre 2008 à 18:37:25 | Re : Question très bête mais il en faut

gillardg

et aussi dans Form2

PrivateSub Form2_Move(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Move

Form1.Left =

Me.Left

Form1.Top =

Me.Top - Form1.Height

EndSub
ben voila tu as 2 form qui sont collées une à l'autre
lundi 1 septembre 2008 à 18:47:56 | Re : Question très bête mais il en faut

PCPT

Administrateur CodeS-SourceS
tester ".visible" chargerait la form si elle ne l'est pas déjà, non?
lundi 1 septembre 2008 à 18:58:29 | Re : Question très bête mais il en faut
lundi 1 septembre 2008 à 20:45:41 | Re : Question très bête mais il en faut

johann36

Membre Club
Bon ben je crois que vous avez répondu à mon problème.
Il ne me reste plus qu'a testé mais pour cela je suis obligé d'attendre demain.

Je vous tiendrais informé du résultat.

En tout cas merci à tous les deux.

Johann36

mardi 2 septembre 2008 à 10:52:58 | Re : Question très bête mais il en faut

Kevin.Ory

Salut,
"tester ".visible" chargerait la form si elle ne l'est pas déjà, non?"
Il suffit qu'un contrôle soit créé, et non chargé, pour pouvoir accéder à ses propriétés. Je rappel en passant que la méthode Load d'un contrôle est appelé lorsque il est affiché pour la 1ère fois (Visible devient True)
Mais il se peut que le formulaire ne soit même pas créé, dans ce cas l'accès à Control.Visible va générer une erreur, il faut donc tester si l'objet à été créé avant de tester s'il est visible.
De plus, un contrôle déchargé n'est pas Nothing, mais est tout de même inutilisable. Il faut donc tester si le Handle du contrôle est encore valide. Pour cela, je crois qu'on peut utiliser la propriété IsHandleCreated du contrôle. Le test devient donc:

If MyForm IsNot Nothing AndAlso MyForm.IsHandleCreated AndAlso MyForm.Visible Then
    ' MyForm est affiché
End If



mardi 2 septembre 2008 à 11:20:15 | Re : Question très bête mais il en faut

gillardg


Kevin   , je viens d'essayer et aucune erreur n'est générée avec le code que j'ai donné
mardi 2 septembre 2008 à 11:35:10 | Re : Question très bête mais il en faut

Kevin.Ory

J'ai dis:
"Mais il se peut que le formulaire ne soit même pas créé, dans ce cas l'accès à Control.Visible va générer une erreur, il faut donc tester si l'objet à été créé avant de tester s'il est visible.
"

Private form2 As Form2
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If form2.Visible Then    (La référence d'objet n'est pas définie à une instance d'un objet.)
        MsgBox("Ne vient pas")
    End If
End Sub


Et ceci:
"De plus, un contrôle déchargé n'est pas Nothing, mais est tout de même inutilisable. Il faut donc tester si le Handle du contrôle est encore valide."

Private form2 As New Form2
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    form2.Close()
    If Not form2.Visible Then
        form2.Show()  (Impossible d'accéder à un objet supprimé.)
    End If
End Sub


Dans les 2 cas, mon code passe sans problème (cela m'a permis de tester l'exactitude de mes propos au sujet de IsHandleCreated)

1 2

Cette discussion est classée dans : mère, formulaire, question, bête, crois


Répondre à ce message

Sujets en rapport avec ce message

Question bête [ par Nelly ] J'ai un problème apparemment tout bête, mais que je n'arrive pas à résoudre : je cherche comment changer la couleur du texte qui se trouve sur un bout question tout bête sur les labels [ par Staber ] comment faire pour avoir un fond transparent pour un label question bête: date système [ par GiGi ] J'aurais voulu savoir comment tester une date avec la date système dans une requète SQL sous Access97 (syntaxe)de plus pourrais-je savoir coment contr VBA ou VB ??? juste question bête ..... [ par Ova ] Bonjour @ tous,J'ai développé un 'tit programme sous VBA6 (le VB hébergé par les applications Office).Je voudrais maintenant en faire une version qui Question bête : hh:mm:ss [ par mymic ] Bonjour,Existe t'il une fonction sous VB qui peut convertir des seconde (x=7895) au format hh:mm:ss directement.Sinon peut on me reexpliquer comment s Question bête??? [ par cyrolman ] Salut les gens!!!!Je voudrais savoir s'il existe une instruction qui permet d'inviter l'utilisateur à saisir un élément dans une listbox????C peut êtr Question VBA OpenArgs [ par solar01 ] Bonjour à tous,J'ai un petit soucis avec l'utilisation de la propriété openargs...Il se trouve que que je developpe actuellement un petit logiciel qui Question bête mais répondez qu'a meme SVP [ par DDelec24 ] Salut tout le monde! Je voudrai savoir lorsque je quitte mon programme ou il faut que j'entre mon code.Je m'explique: lors d'une requete d'interruptio question de débutant [ par yafisab ] J'ai à nouveau un petit problèmeJ'ai créer deux formulaire dont l'un sert à ouvrir l'autreje veux, à l'ouverture du second formulaire, fermer l'autrep Petite question de sous formulaire Access [ par storm005 ] Bonjour @ tous!J'ai créé un formulaire Access Xp et y ai intégré un sous forumlaire... Seulement je suis maintenant obligé de changer dynamiquement la


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,058 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales