OVH Cloud OVH Cloud

Enregistrement texte provenant d'un MDIChild

2 réponses
Avatar
Tef
Bonjour,
Je suis d=E9butant et je fais mon propre =E9diteur de texte pour
apprendre le VB.Net.

J'ai une application construit de la fa=E7on suivante :
frmParent =3D MDIParent
frmNew =3D MDIChild qui contient un RichTextBox nomm=E9 rtb.

Tout cela me permet quand on fait nouveau de cr=E9er plusieurs instance
de frmNew.

Mon pb est le suivant, je ne sais pas comment r=E9cup=E9rer le contenu de
mon rtb sur la fen=EAtre active.
Je sais reconnaitre la fen=EAtre active mais pas le contenu de mon rtb
sur cette fen=EAtre.

Voil=E0 mon code :
Try
With SDF
.AddExtension =3D False
.CheckPathExists =3D True
.CreatePrompt =3D False
.OverwritePrompt =3D True
.ValidateNames =3D True
.ShowHelp =3D True
.DefaultExt =3D "rtf"
.FileName =3D strFilename
.Filter =3D "RTF files (*.rtf) |*.rtf|TXT files (*.txt)
|*.txt|All files|*.*"
.FilterIndex =3D 1

If .ShowDialog =3D DialogResult.OK Then
My.Computer.FileSystem.WriteAllText(.FileName,
ActiveMdiChild.Text, False)
End If

End With
Catch ex As Exception
MessageBox.Show(ex.Message, Me.Text)
End Try

Dans ma condition if on vois bien ActiveMdiChild.text donc en fait l=E0
j'enregistre le nom de la fen=EAtre dans mon fichier et non le contenu
de mon rtb.

Si vous pouviez m'aider car l=E0 je gal=E8re et ne trouve plus.

Merci par avance :)

++
Tef

2 réponses

Avatar
PierreSlideM
Dans la fenetre fille :

Public property MonTexte
Get
Return Rtb.Text
End get
set
Rtb.Text=value
end set
end property

dans la fenetre MDI
ActiveMdiChild.MonTexte="Ici ce que l'on veut" pour modifier le texte
ou
Variable¬tiveMdiChild.MonTexte pour le recuperer

pour avoir la propierte en lecture seule,faire
Public readonly property MonTexte
Get
Return Rtb.Text
End get
end property

"Tef" a écrit :

Bonjour,
Je suis débutant et je fais mon propre éditeur de texte pour
apprendre le VB.Net.

J'ai une application construit de la façon suivante :
frmParent = MDIParent
frmNew = MDIChild qui contient un RichTextBox nommé rtb.

Tout cela me permet quand on fait nouveau de créer plusieurs instance
de frmNew.

Mon pb est le suivant, je ne sais pas comment récupérer le contenu de
mon rtb sur la fenêtre active.
Je sais reconnaitre la fenêtre active mais pas le contenu de mon rtb
sur cette fenêtre.

Voilà mon code :
Try
With SDF
.AddExtension = False
.CheckPathExists = True
.CreatePrompt = False
.OverwritePrompt = True
.ValidateNames = True
.ShowHelp = True
.DefaultExt = "rtf"
.FileName = strFilename
.Filter = "RTF files (*.rtf) |*.rtf|TXT files (*.txt)
|*.txt|All files|*.*"
.FilterIndex = 1

If .ShowDialog = DialogResult.OK Then
My.Computer.FileSystem.WriteAllText(.FileName,
ActiveMdiChild.Text, False)
End If

End With
Catch ex As Exception
MessageBox.Show(ex.Message, Me.Text)
End Try

Dans ma condition if on vois bien ActiveMdiChild.text donc en fait là
j'enregistre le nom de la fenêtre dans mon fichier et non le contenu
de mon rtb.

Si vous pouviez m'aider car là je galère et ne trouve plus.

Merci par avance :)

++
Tef




Avatar
Tef
Salut PierreSlideM et merci pour ta réponse.

J'ai essayé ce que tu m'as dis mais cela ne fonctionne pas.
Dans mon frmNew qui est la fenêtre fille, j'ai rajouté ton code
Public property monTexte
et dans mon frmMain qui est ma fenêtre MDIParent, j'ai essayé de
récupérer monTexte mais il n'est pas reconnu :-(

Je comprend pas pourquoi cela ne fonctionne pas.
Je suis ouvert à toute idées car je cherche depuis un petit moment et
je trouve vraiment pas.

Merci par avance

PierreSlideM wrote:
Dans la fenetre fille :

Public property MonTexte
Get
Return Rtb.Text
End get
set
Rtb.Text=value
end set
end property

dans la fenetre MDI
ActiveMdiChild.MonTexte="Ici ce que l'on veut" pour modifier le texte
ou
Variable¬tiveMdiChild.MonTexte pour le recuperer

pour avoir la propierte en lecture seule,faire
Public readonly property MonTexte
Get
Return Rtb.Text
End get
end property