2008-11-11 7 views
2

J'ai des problèmes avec la mise en place d'un formulaire Windows Mobile 6 à l'avant. J'ai essayé des choses comme ça déjàAmener les formulaires Windows Mobile 6 à l'avant

Form1 testForm = new Form1(); 
testForm.Show(); 
testForm.BringToFront(); 
testForm.Focus(); 

Mais il est toujours derrière la forme qui comprend ce code. Les seules choses qui ont travaillé pour moi sont

testForm.TopMost = true; 

ou Masquer(); l'ancienne forme, puis montrer le nouveau, mais je veux éviter de cacher l'autre forme. TopMost n'est pas très propre quand même en utilisant plusieurs autres formes.

L'autre chose qui fonctionne est

testForm.ShowDialog(); 

mais je ne veux pas montrer la forme modale.

Pour couper court. Je veux juste montrer la nouvelle forme devant un autre formulaire, et si je la ferme, je veux revoir l'ancienne forme.

Peut-être que quelqu'un peut m'aider avec ce problème. Je vous remercie.

Répondre

2

Je ne l'ai pas essayé dans WM6, mais vous pouvez utiliser certains PInvoke pour appeler des fonctions Win32:

[DllImport("coredll.dll")] 
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName); 

[DllImport("coredll.dll", EntryPoint="SetForegroundWindow")] 
private static extern int SetForegroundWindow(IntPtr hWnd); 

Appel FindWindow pour obtenir la poignée, puis appelez SetForegroundWindow. D'autres fonctions vous utiles:

ShowWindow, BringWindowToTop, SetWindowPos

0

Essayez ceci:

Mettez une minuterie sur la forme.
Définissez le tick court, par exemple 100 ms.
Dans l'événement timer_Tick
- désactiver le temporisateur (il ne cochera donc pas à nouveau) puis
- charger le formulaire enfant.

Aussi, vous voudrez peut-être regarder la propriété form.owner: Lorsqu'un formulaire appartient à une autre forme
", il est réduit au minimum et fermé avec le formulaire propriétaire Par exemple, si Form2 appartient à la forme Form1, si. Form1 est fermé ou réduit, Form2 est également fermé ou réduitLes formulaires détenus ne sont jamais affichés derrière leur formulaire propriétaire. "

Questions connexes