ketaaa
Messages postés5Date d'inscriptionmercredi 20 mai 2009StatutMembreDernière intervention24 mars 2010
-
23 mars 2010 à 17:16
ketaaa
Messages postés5Date d'inscriptionmercredi 20 mai 2009StatutMembreDernière intervention24 mars 2010
-
24 mars 2010 à 07:07
Bonjour ,
je développe sous le compact framework (avec windows mobile 6 SDK ) et un problème persiste.
J'ai recrée une classe CBarrePerso héritant de la class Control.
Cette classe crée un une barre de couloir en haut de l'écran avec deux boutons (un a gauche , et un a droite).
Par exemple un bouton Retour et un Suivant.
Mon constructeur se présente sous la forme :
public CBar(Form p_BackForm, Form p_NextForm, string p_NomRightButton, string p_NomLeftButton);
j'ai associé au deux boutons des eventhandler sur des méthodes click que j'ai crée.
Le seul problème est quand je clique sur le bouton Retour par exemple . La forme BackForm s'affiche , mais son ancienne reste toujours ouverte .
Je veux donc pouvoir récuperer un pointeur sur la form courante pour la fermer avant d'ouvrir l'autre pour éviter que des forms inutiles restent ouvert sur le mobile.
Je ne sais pas comment faire pour obtenir ce pointeur là.
yohan49
Messages postés380Date d'inscriptionsamedi 22 janvier 2005StatutMembreDernière intervention13 août 20117 23 mars 2010 à 18:23
sur ta form principale stock tes autre form ouvert dans une list:
public List<Form> ColForms = new List<Form>();
public Object GetForm(String classname)
{
IEnumerator iter = ColForms.GetEnumerator();
while (iter.MoveNext())
{
if (iter.Current.GetType() == Type.GetType(classname))
{
return iter.Current;
}
}
return null;
}
la ou tu a besoin :
Object o = GetForm("Application1.Form2")
if(o != null)
{
Form2 f = o as Form2;
....
}
il faut juste veiller a bien retirer la form de ColForm l'ors dans le FormClossing de la form2 ouverte
ketaaa
Messages postés5Date d'inscriptionmercredi 20 mai 2009StatutMembreDernière intervention24 mars 2010 23 mars 2010 à 18:58
C'est pas ce que je veux , je crois que je me suis mal expliqué , la dans ce que tu m'a donné il faut que je mette le nom de ma classe de ma form dans le code de la bar . Mais la barre est utilisé sur plusieurs form et les liens sont dynamiques ( ce ne sont jamais les mêmes ) .
Même en passant par les API windows style FindWindow ou quelque chose on peux pas récupérer un pointeur sur la form courante?