Problème gestion évènement sur MicroFramework
Bonjour à tous,
J'utilise la technologie MicroFramework dans le cadre d'un projet pour mon IUT. Nous développons sur la carte de chez GHI, Embedded Master.
Je dois créer des IHMs pour cette carte, et je suis parti d'un projet déjà existant. Vous pouvez le trouver ici : http://www.megaupload.com/?d=ZP4JF7JD
Dans ce code, j'ai essayé dans le fichier Program.cs au niveau de la fonction SetDisplayParametersForTargetImages, de faire un switch de ce type :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| for (Int32 i = 0; i < Targets.numberOfTargetButtons; i++)
{
myTargetButtons[i] = new TargetButtons(i);
myTargetButtons[i].HorizontalAlignment = HorizontalAlignment.Center;
switch (i)
{
case 1: myTargetButtons[1].onTargetButtonTouch += new TargetButtons.ButtonTouchedHandler(Program_onTargetButtonTouch_TV);
break;
case 2: myTargetButtons[2].onTargetButtonTouch += new TargetButtons.ButtonTouchedHandler(Program_onTargetButtonTouch_DVD);
break;
case 3: myTargetButtons[3].onTargetButtonTouch += new TargetButtons.ButtonTouchedHandler(Program_onTargetButtonTouch_HIFI);
break;
case 4: myTargetButtons[4].onTargetButtonTouch += new TargetButtons.ButtonTouchedHandler(Program_onTargetButtonTouch_WIFI);
break;
case 5: myTargetButtons[5].onTargetButtonTouch += new TargetButtons.ButtonTouchedHandler(Program_onTargetButtonTouch_CONF);
break;
}
myTargetButtons[i].SetMargin(horizontalSpacing, topMargin, horizontalSpacing, captionSpacing);
myTargetButtons[i].VerticalAlignment = VerticalAlignment.Top;
myTargetButtons[i].Width = 64;
} [...] |
Ensuite, dans l'envenement Program_onTargetButtonTouch_TV par exemple, j'essaye de créer une nouvelle fenêtre :
Code:
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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
private void Program_onTargetButtonTouch_TV(Int32 targetButtonNumber)
{
try
{
ClearStatusText();
targetTypeSelected = myTarget.targetType[targetButtonNumber];
targetButtonSelected = targetButtonNumber;
AddStatusText(myTarget.targetType[targetButtonNumber], displayFont, textColor, true);
AddStatusText(" ", displayFont, textColor, true);
try
{
myProgram = new Program();
Window fenetreSecondaire = myProgram.CreateWindowTV();
myProgram.myDataStorage.Initialize();
Touch.Initialize(myProgram);
myProgram.Run(fenetreSecondaire);
}
catch (Exception ex)
{
Debug.Print(ex.Message);
}
}
catch (Exception ex)
{
Debug.Print(ex.Message);
}
}
private Window CreateWindowTV()
{
{
try
{
fenetreSecondaire = new Window();
fenetreSecondaire.Height = SystemMetrics.ScreenHeight;
fenetreSecondaire.Width = SystemMetrics.ScreenWidth;
fenetreSecondaire.Visibility = Visibility.Visible;
fenetreSecondaire.Dispatcher.Thread.Priority = System.Threading.ThreadPriority.Highest;
fenetreSecondaire.Background = new SolidColorBrush(Color.Black);
SetDisplayParametersForTargetImages();
PlaceItemsInPanelsTV();
fenetreSecondaire.Child = panelSecondaire;
return fenetreSecondaire;
}
catch (Exception ex)
{
Debug.Print(ex.Message);
return mainWindow;
}
}
}
private void PlaceItemsInPanelsTV()
{
try
{
// Add a button and label in each target StackPanel.
target1.Children.Add(myTargetButtons[0]);
target1.Children.Add(targetLabels[0]);
target1.Children.Add(targetCount[0]);
// The target StackPanels reside within the imagePanel Stackpanel.
imagePanel.Children.Add(target1);
statusPanel.Children.Add(statusText);
undoPanel.Children.Add(myUndoButton);
undoPanel.Children.Add(undoText);
// Add the StackPanels to the main panel.
// The order is critical.
panelSecondaire.Children.Add(statusPanel);
panelSecondaire.Children.Add(imagePanel);
panelSecondaire.Children.Add(undoPanel);
}
catch (Exception ex)
{
Debug.Print(ex.Message);
}
} |
Le problème est que, à l'essai, rien ne se passe, et je n'ai pas de nouvelle fenêtre qui apparait avec un bouton a l'intérieur.
Voyez vous une solution ?
Je vous faire suivre le code que j'ai fait : http://www.megaupload.com/?d=6X29ZPQ0
Merci à tout ceux qui prendront le temps de regarder ça :)
Sylvanocry