OVH Cloud OVH Cloud

Modifier une Form a partir d une autre Class

5 réponses
Avatar
hubert.veujoz
J ai un petit souci
J ai une ClassDepart, une ClassArriver
De ma ClassArriver je veux modifier par exemple le ClassDepart.Backcolor

normalement je devrais faire comme ceci dans ma ClassArriver
Dim ClassModifier as new ClassDepart
ClassModifier.Backcolor=color.red

Quand je vais comme cela , ca ne fonctionne pas
Y a t il une autre méthode et si oui laquelle

Merci de votre aide
hubert

5 réponses

Avatar
Frédéric Queudret [MS]
Bonsoir

Pouvez-vous joindre votre code?
Cdlt,,
Frédéric.
"hubert.veujoz" wrote in message
news:4229ed5d$0$842$
J ai un petit souci
J ai une ClassDepart, une ClassArriver
De ma ClassArriver je veux modifier par exemple le ClassDepart.Backcolor

normalement je devrais faire comme ceci dans ma ClassArriver
Dim ClassModifier as new ClassDepart
ClassModifier.Backcolor=color.red

Quand je vais comme cela , ca ne fonctionne pas
Y a t il une autre méthode et si oui laquelle

Merci de votre aide
hubert





Avatar
hubert.veujoz
Dim ClassDepartFeuille As New ClassDepartFeuille
Select Case sender.name
Case "TBHauteur"
'ici on verifie si le total des hauteurs est < a la taille de l ecran
Dim cr As Integer
Dim TotalHauteur As Integer = 0
For cr = 0 To ClassDepartFeuille.Controls.Count - 1
TotalHauteur += ClassDepartFeuille.Controls(cr).Height
Next
TotalHauteur += CType(sender.text, Int16)
If TotalHauteur > ClassDepartFeuille.Height Then
GereErreur(sender)
Else
If boiteform.AutoSize = False Then
boiteform.Height = CType(sender.text, Int16)
'verifier le positionnement des controles sur la feuilles
' on repositionne les controles sur la feuilles
Dim pos As Point
pos.Y = 10
For cr = 0 To ClassDepartFeuille.Controls.Count - 1

ClassDepartFeuille.Controls(cr).Location = New
Point(ClassDepartFeuille.Controls(cr).Location.X, pos.Y) <=====' c est
ici

pos.Y += ClassDepartFeuille.Controls(cr).Height
Next
Else
sender.text = boiteform.Height
End If
End If
Franchement , j'espere que c est claire
merci
hubert

"Frédéric Queudret [MS]" a écrit dans le
message de news:
Bonsoir

Pouvez-vous joindre votre code?
Cdlt,,
Frédéric.
"hubert.veujoz" wrote in message
news:4229ed5d$0$842$
J ai un petit souci
J ai une ClassDepart, une ClassArriver
De ma ClassArriver je veux modifier par exemple le ClassDepart.Backcolor

normalement je devrais faire comme ceci dans ma ClassArriver
Dim ClassModifier as new ClassDepart
ClassModifier.Backcolor=color.red

Quand je vais comme cela , ca ne fonctionne pas
Y a t il une autre méthode et si oui laquelle

Merci de votre aide
hubert









Avatar
Frédéric Queudret [MS]
J'ai copié/coller le code chez moi et ai essayé de reproduire le
comportement attendu et cela fonctionne: les contrôles remontent en haut de
la feuille les uns sous les autres.
Etes vous sûr d'exécuter le code dans le case "TBHauteur" ?
Etes vous sûr d'utiliser la référence à votre feuille préalablement créé et
de ne pas en recréer une autre?

Frédéric.

"hubert.veujoz" wrote in message
news:422a0f15$0$3109$
Dim ClassDepartFeuille As New ClassDepartFeuille
Select Case sender.name
Case "TBHauteur"
'ici on verifie si le total des hauteurs est < a la taille de l ecran
Dim cr As Integer
Dim TotalHauteur As Integer = 0
For cr = 0 To ClassDepartFeuille.Controls.Count - 1
TotalHauteur += ClassDepartFeuille.Controls(cr).Height
Next
TotalHauteur += CType(sender.text, Int16)
If TotalHauteur > ClassDepartFeuille.Height Then
GereErreur(sender)
Else
If boiteform.AutoSize = False Then
boiteform.Height = CType(sender.text, Int16)
'verifier le positionnement des controles sur la feuilles
' on repositionne les controles sur la feuilles
Dim pos As Point
pos.Y = 10
For cr = 0 To ClassDepartFeuille.Controls.Count - 1

ClassDepartFeuille.Controls(cr).Location = New
Point(ClassDepartFeuille.Controls(cr).Location.X, pos.Y) <=====' c
est ici

pos.Y += ClassDepartFeuille.Controls(cr).Height
Next
Else
sender.text = boiteform.Height
End If
End If
Franchement , j'espere que c est claire
merci
hubert

"Frédéric Queudret [MS]" a écrit dans le
message de news:
Bonsoir

Pouvez-vous joindre votre code?
Cdlt,,
Frédéric.
"hubert.veujoz" wrote in message
news:4229ed5d$0$842$
J ai un petit souci
J ai une ClassDepart, une ClassArriver
De ma ClassArriver je veux modifier par exemple le ClassDepart.Backcolor

normalement je devrais faire comme ceci dans ma ClassArriver
Dim ClassModifier as new ClassDepart
ClassModifier.Backcolor=color.red

Quand je vais comme cela , ca ne fonctionne pas
Y a t il une autre méthode et si oui laquelle

Merci de votre aide
hubert













Avatar
hubert.veujoz
oui oui je suis sur de tout
ca fonctionne comme ca
Form1 qui appel ClassDepartFeuille qui appel FormMenu qui appel
FormPropriété et de FormPropriété j ai besoin de modifier ClassDepartFeuille
et la ce ne fonctionne pas
Merci
hubert

"Frédéric Queudret [MS]" a écrit dans le
message de news:
J'ai copié/coller le code chez moi et ai essayé de reproduire le
comportement attendu et cela fonctionne: les contrôles remontent en haut
de la feuille les uns sous les autres.
Etes vous sûr d'exécuter le code dans le case "TBHauteur" ?
Etes vous sûr d'utiliser la référence à votre feuille préalablement créé
et de ne pas en recréer une autre?

Frédéric.

"hubert.veujoz" wrote in message
news:422a0f15$0$3109$
Dim ClassDepartFeuille As New ClassDepartFeuille
Select Case sender.name
Case "TBHauteur"
'ici on verifie si le total des hauteurs est < a la taille de l ecran
Dim cr As Integer
Dim TotalHauteur As Integer = 0
For cr = 0 To ClassDepartFeuille.Controls.Count - 1
TotalHauteur += ClassDepartFeuille.Controls(cr).Height
Next
TotalHauteur += CType(sender.text, Int16)
If TotalHauteur > ClassDepartFeuille.Height Then
GereErreur(sender)
Else
If boiteform.AutoSize = False Then
boiteform.Height = CType(sender.text, Int16)
'verifier le positionnement des controles sur la feuilles
' on repositionne les controles sur la feuilles
Dim pos As Point
pos.Y = 10
For cr = 0 To ClassDepartFeuille.Controls.Count - 1

ClassDepartFeuille.Controls(cr).Location = New
Point(ClassDepartFeuille.Controls(cr).Location.X, pos.Y) <=====' c
est ici

pos.Y += ClassDepartFeuille.Controls(cr).Height
Next
Else
sender.text = boiteform.Height
End If
End If
Franchement , j'espere que c est claire
merci
hubert

"Frédéric Queudret [MS]" a écrit dans le
message de news:
Bonsoir

Pouvez-vous joindre votre code?
Cdlt,,
Frédéric.
"hubert.veujoz" wrote in message
news:4229ed5d$0$842$
J ai un petit souci
J ai une ClassDepart, une ClassArriver
De ma ClassArriver je veux modifier par exemple le
ClassDepart.Backcolor

normalement je devrais faire comme ceci dans ma ClassArriver
Dim ClassModifier as new ClassDepart
ClassModifier.Backcolor=color.red

Quand je vais comme cela , ca ne fonctionne pas
Y a t il une autre méthode et si oui laquelle

Merci de votre aide
hubert

















Avatar
hubert.veujoz
merci beaucoups Frederic des reponses
mais je reviens a la charge, je suis un debutant tenace.

ce que je ne comprends pas,
quand j ai une Form1 qui appel Form2 je peux sans probleme modifier Form2 à
partir de Form1 donc "en montant" mais en descendant l inverse je ne peux
pas le faire "de Form2 modifier Form1" C est ici que je ne comprends pas
C est vrais que la j ai vraiment besoins de vos lumieres.
merci




"hubert.veujoz" a écrit dans le message de news:
4229ed5d$0$842$
J ai un petit souci
J ai une ClassDepart, une ClassArriver
De ma ClassArriver je veux modifier par exemple le ClassDepart.Backcolor

normalement je devrais faire comme ceci dans ma ClassArriver
Dim ClassModifier as new ClassDepart
ClassModifier.Backcolor=color.red

Quand je vais comme cela , ca ne fonctionne pas
Y a t il une autre méthode et si oui laquelle

Merci de votre aide
hubert