rbidocho
Messages postés41Date d'inscriptionjeudi 7 juin 2007StatutMembreDernière intervention15 septembre 2008
-
25 juin 2007 à 21:07
rbidocho
Messages postés41Date d'inscriptionjeudi 7 juin 2007StatutMembreDernière intervention15 septembre 2008
-
26 juin 2007 à 08:35
Bonsoir,
D'abord : XP SP1, Framework .Net 1.1, IDE SharpDevelop 1.1
Après : mon soucis du moment vient du passage de tableau entre 2 forms. Pour cela j'utilise une propriétés dans chaque form pour les transmettre
Dans Form1 j'ai :
public float[,] TabDonnéesFinale {
get {
return fTabDonnéesFinale;
}
set {
fTabDonnéesFinale = value;
}
}
et dans Form2 j'ai :
public float[,] TableauValeurs {
get {
return fTableauValeurs;
}
set {
fTableauValeurs = value;
}
}
Je souhaite passer dans un premier temps le tableau fTabDonnéesFinale dans la form2 à fTableauValeurs.
Pour cela je fais dans Form1 : Form2.TableauValeurs = fTabDonnéesFinale
Puis si les modifs sont acceptées dans Form2, passer fTabValeurs dans Form1 en faisant (Dans Form2) TabDonnéesFinale = fTableauValeurs
Si les modifs ne sont pas acceptées je veux garder dans Form1 le tableau fDonnéesFinales tel qu'il était avant le passage à Form2.
Et c'est là qu'est mon soucis, car si je n'accepte pas les modifs, le tableau fDonnéesFinales dans Form1 après avoir fait des modifs sans les acceptées ressemble à fTableauValeurs de la form2.
Il doit y avoir là dessous une histoire de reférence qui traine, peut être dans mes propriétés mais j'en suis pas sur.
rbidocho
Messages postés41Date d'inscriptionjeudi 7 juin 2007StatutMembreDernière intervention15 septembre 2008 26 juin 2007 à 08:35
J'ai trouvé une solution en espérant qu'elle ne soit pas trop mauvaise :
Mes propriétés deviennent :
* Dans Form1
public float[,] TabDonnéesFinale {
get {
return fTabDonnéesFinale;
}
set {
this.fTabDonnéesFinale = new float[value.GetUpperBound(0)+1,value.GetUpperBound(1)+1];
Array.Copy(value,fTabDonnéesFinale,(value.GetUpperBound(0)+1)*(value.GetUpperBound(1)+1));
}
}
et dans Form2 j'ai :
public float[,] TableauValeurs {
get {
return fTableauValeurs;
}
set {
this.fTableauValeurs= new float[value.GetUpperBound(0)+1,value.GetUpperBound(1)+1];
Array.Copy(value,fTableauValeurs,(value.GetUpperBound(0)+1)*(value.GetUpperBound(1)+1));
}
}