comment on peut declarer instanciation des forms fille dans un form parent merci?
comment on peut declarer instanciation des forms fille dans un form parent merci?
(+1 mais je tente, on sait jamais)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dim f as new form2 f.show
oui je sais merci mais ma question est comment peut declarer l instanciation des forms fille dans la form parent pour que je puisse les appeler sans d avoir doubles des meme form
merci
utilises une variable privée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 private f as form2
et dans ton bouton qui ouvre la fenetre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if f is nothing orelse f.isdisposed then f = new form2 end if f.show
merci enormement je vais l essayer mais dis moi stp si je veux par exple declarer 2 form children dans la form parent au lieu d une alors je fais comment ?merci
il faut 2 variales privées
et je suppose que tu as 2 boutons, un pour ouvrir chaque fenetre, donc chacun un peu de code pour chaque variable
la je viens de tester mais ca me donne pas la meme chose que je cherche
ca me donne form parent et form1 dans le ccontenu de form parent yas de souci mais qd j apel form2 a parir de form1 qui est affichée dans le contenu du formparent j ai une form2 séparée et pas affichée dans le contenu du formparent et que je veux revenir au form1 a partir du form2 j ai une form1 pas la meme qui est affichée sur le contenu du form parent
en bref j ai plein exemplaires des form1 et form2
et pas affichées sur le meme contenu et je te montre un simple code pour ca:je te remercie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 Public Class Form1 Private fr As Form2 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'code pour afficher Form2 sur le contenu de MDIParent 'Dim f As New Form2 'f.Show() 'Me.Hide() If fr Is Nothing OrElse fr.IsDisposed Then fr = New Form2 End If fr.Show() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End End Sub End Class Public Class Form2 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'code pour retourner au Form1 et dans le contenu MDIParent Dim f As New Form1 f.Show() 'Me.Hide() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End End Sub End Class Imports System.Windows.Forms Public Class MDIParent1 Dim ChildForm As New Form1 Private m_ChildFormNumber As Integer Private Sub Form1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Form1ToolStripMenuItem.Click End Sub Private Sub Form2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Form2ToolStripMenuItem.Click End Sub Private Sub NewToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewToolStripMenuItem.Click ChildForm.MdiParent = Me ChildForm.Show() End Sub End Class
Il faut passer au constructeur de Form2 une référence à Form1 afin de pouvoir la repasser au premier plan et pas créer une nouvelle Form1 ...
M'enfin, vb et moi ça fait beaucoup, alors je pense que je vais laisser sperot t'aider sur ce point s'il veux bien
Par contre tu veux faire quoi exactement ? afficher plusieurs form "indépendantes" ou créer une application MDI ?
les contructeurs en c# moi c'est pareil, je saurais pas en écrire un tellement j'ai du mal à en lire
sur ta classe form2 si tu veux pouvoir afficher form1, il une variable qui contienne la form1 qui a appelé form2
et sur un bouton de form2 par exemple tu fais Form1Instance.show
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class form2 private Form1Instance as form public sub new(form1appelant as form) initializecomponent Form1Instance = form1appelant end sub end class
en espérant que ca réponde à la question car je sais pas trop ce que tu veux exactement
c est jentille de ta part je veux creer une application qui garde trj la form parent et afficher des forms sur le contenu du formparent et pas plus d une seule exmplaire pour chaque form mais ouverte toutes tu vois un peu
oui c'est pour ca qu'il faut garder une référence pour chaque fenetre
vu qu'il faut la créé la 1ère fois, il faut tester si la variable est à nothing, tu fais un new d'une fenetre, si elle est pas à nothing, dans ce cas tu affiches celle qui est dans la variable
sinon autrement, tu peux faire un module avec les variables de chaque fenetre
(le module tu peux le mettre n'importe où hors d'une classe)
de cette manière, ces variables sont accessibles de n'importe où dans l'application, dans l'evenement form_load de chaque fenetre, il suffit de remplir la variable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public module public FormParentOuverte as form public Form1Ouverte as form public Form1Ouverte as form end module
ainsi sur form2_load tu fais Form1Ouverte = me
Mais plus je relis, plus j'ai l'impression que tu veux faire du MDI.
A tout hasard, je te met donc un lien qui explique tout : http://plasserre.developpez.com/v4-4.htm
merci enormement pour vous tous c est vrm jentil de votre part
bon j ai compri le principe de variable pour savoir si la 1 fois que la form est instanciée ou pas ca c est pas mal et simple
et le module j ai pas pu de savoir comment je peux le realiser
oui je voudrai faire application de type MDI
je suis vrm désolé pour le derangement mais la je serai concrait je vous montre un code de mon application MDI et essaye svp de remplir le code qu il faut pour bien comprendre merci a l infini jusqu au la fin de l infini:
voila svp si ca vous derange d ecrire code pour faire application MDI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 ----------------Form1------------------- Public Class Form Private Sub Bform1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bform1.Click End Sub End Class ---------------------------------Form2----------------- Public Class Form2 Private Sub Bform1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bform1.Click End Sub End Class ---------------Form Principale------------------------ Imports System.Windows.Forms Public Class principale Private Sub ShowNewForm(ByVal sender As Object, ByVal e As EventArgs) Handles NewToolStripMenuItem.Click 'ici je veux appeler ma Form1 ' Créez une nouvelle instance du formulaire enfant. Dim ChildForm As New System.Windows.Forms.Form ' Configurez-la en tant qu'enfant de ce formulaire MDI avant de l'afficher. ChildForm.MdiParent = Me m_ChildFormNumber += 1 ChildForm.Text = "Fenêtre " & m_ChildFormNumber ChildForm.Show() End Sub Private m_ChildFormNumber As Integer Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click End End Sub End Class
je vous remercie enormement
chouette des textes à trou
y a pas la liste des choix possibles comme à l'époque ?
avant de remplir faudrait que je comprenne complètement ce que tu veux
au debut de ton prog, je pense que form principal s'ouvre
y a t il des boutons dessus ? des menus ?
form principal peut ouvrir form1 ? form2 ? les 2 ?
form1 a un bouton pour passer à form2 ?
form2 a un bouton pour passer à form1 ?
si vrai pour les 2 dernières questions, des boutons sur form principal n'aurait pas été mieux ?
Bon Form Principale est lancée au démarage d application
Formprincipale a un menu Fichier : Nouveau et quitter
alors qd je clik sur nouveau ca m affiche Form1 dans le contenu du formprincipale
et form1 a un button: s appele "BForm1" et je clik sur ce button appelle Form2 qui est affichée sur le contenu du Form principale ctadire sur le meme endroit ou etait affichée form1
et form2 a un button s appele "Bform2" qui appele form1 si je clik
et voila
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 ----------------Form1------------------- Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load principale.form1ouverte= me End Sub Private Sub Bform1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bform1.Click if principale.form2ouverte is nothing orelse principale.form2ouverte.isdisposed then principale.form2ouverte = new form2 end if principale.form2ouverte.show End Sub End Class ---------------------------------Form2----------------- Public Class Form2 Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load principale.form2ouverte= me End Sub Private Sub Bform1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bform1.Click if principale.form1ouverte is nothing orelse principale.form1ouverte.isdisposed then principale.form1ouverte = new form1 end if principale.form1ouverte.show End Sub End Class ---------------Form Principale------------------------ Imports System.Windows.Forms Public Class principale public shared FormPrincipale as form public shared Form1Ouverte as form public shared Form2Ouverte as form Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load FormPrincipale = me End Sub Private Sub ShowNewForm(ByVal sender As Object, ByVal e As EventArgs) Handles NewToolStripMenuItem.Click 'ici je veux appeler ma Form1 ' Créez une nouvelle instance du formulaire enfant. Dim ChildForm As New System.Windows.Forms.Form ' Configurez-la en tant qu'enfant de ce formulaire MDI avant de l'afficher. ChildForm.MdiParent = Me m_ChildFormNumber += 1 ChildForm.Text = "Fenêtre " & m_ChildFormNumber ChildForm.Show() End Sub Private m_ChildFormNumber As Integer Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click End End Sub End Class
public shared FormPrincipale as form j'suis pas sur que ca serve
je m'y connais pas trop en mdi, mais je crois qu'il faut définir le parent quelque part ...
bon deja je te remercie enormement
j ai testé et ca marchais bien il manque just le faite que Form2 n est pas affichée sur le meme endroit que Form1 sur le contenu du Form Principale
Form2 est séparée et en plus quand je rapele une page deja ouverte et réduite a partir d autre page ouverte ca m affiche pas cette form qui est ouverte et réduite
tu vois sionon ca marchais
je sais si tu peux finir la résolution de problem
je te remercie
ca depend de la taille de la fenetre
pour une child de mdi, tu peux mettre maximized
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager