Je sais que je peux obtenir l'état actuel par WindowState, mais je veux savoir s'il y a un événement qui se déclenchera lorsque l'utilisateur essaiera de minimiser le formulaire.Comment détecter quand un formulaire Windows est minimisé?
Répondre
Pour entrer en avant la forme a été réduite au minimum, vous devrez brancher dans la procédure WndProc:
private const int WM_SYSCOMMAND = 0x0112;
private const int SC_MINIMIZE = 0xF020;
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
protected override void WndProc(ref Message m)
{
switch(m.Msg)
{
case WM_SYSCOMMAND:
int command = m.WParam.ToInt32() & 0xfff0;
if (command == SC_MINIMIZE)
{
// Do your action
}
// If you don't want to do the default action then break
break;
}
base.WndProc(ref m);
}
Pour réagir après la forme a été réduite au minimum dans le crochet Resize
événement comme les autres réponses le soulignent (inclus ici pour l'exhaustivité):
private void Form1_Resize (object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
// Do your action
}
}
Je ne sais pas d'un événement spécifique , mais l'événement se déclenche Resize
lorsque le formulaire est réduit, vous pouvez vérifier FormWindowState.Minimized
dans cet événement
Cela combiné avec un drapeau privé "lastState" est le moyen le plus facile à faire à ce sujet. –
Vous pouvez utiliser l'événement Resize et vérifiez la propriété Forms.WindowState dans l'éventualité.
private void Form1_Resize (object sender , EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
// Do some stuff
}
}
Notez que cela semble être l'un de ces endroits où [Exceptions peuvent être avalés] (http://stackoverflow.com/q/4933958/119527). –
Pour les personnes qui cherchent des fenêtres WPF événement réduisant au minimum:
Il est un peu différent. Pour l'utilisation de rappel WindowState:
private void Form1_Resize(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
// Do some stuff
}
}
L'événement à utiliser est StateChanged (au lieu Redimensionner):
public Main()
{
InitializeComponent();
this.StateChanged += Form1_Resize;
}
- 1. Comment détecter lorsqu'un formulaire est déplacé?
- 2. Est-ce que Windows peut détecter quand un moniteur, une souris, un clavier est déconnecté?
- 3. Comment détecter quand le moteur SAPI TTS est occupé
- 4. Comment détecter si un moniteur est grand écran sous Windows
- 5. Comment savoir quand Windows est inactif
- 6. Comment détecter quand l'application se termine?
- 7. Comment détecter quand le clavier logiciel Android est caché?
- 8. Comment ouvrir Windows Explorer quand je clique sur un bouton?
- 9. Détecter quand la page est chargée avec l'extension firefox
- 10. .NET: Comment convertir un formulaire Windows en un contrôle Windows
- 11. Comment puis-je détecter si Windows Installer est installé?
- 12. Restaurer WindowState à partir de minimisé
- 13. Comment puis-je détecter quand un lecteur flash est branché sous Linux?
- 14. Comment détecter depuis quand un utilisateur est connecté au système avec .NET (C#)?
- 15. Quand est-ce que windows signale un handle de processus?
- 16. Comment obtenez-vous l'état auquel un formulaire (.net) sera restauré?
- 17. Pocket PC/Windows Mobile: comment détecter une réduction intelligente
- 18. SQL Server Express DB est 'in recovery' - comment détecter/savoir quand il est
- 19. Détecter l'appareil mobile Windows
- 20. Existe-t-il un moyen de détecter quand un panneau de mise à jour est actualisé?
- 21. Comment détecter la version linguistique de Windows
- 22. Comment détecter si un moniteur est en mode veille?
- 23. Détecter quand AJAX change HTML dans un DIV dans WebBrowser
- 24. Comment détecter si un débogueur OpenGL est utilisé?
- 25. Comment puis-je détecter quand l'appel sortant a été accepté?
- 26. Comment détecter READ_COMMITTED_SNAPSHOT est activé?
- 27. jquery- comment détecter la valeur de l'élément quand onclick?
- 28. Détecter la déconnexion de Windows en Python
- 29. Comment détecter quand la hauteur de votre page change?
- 30. Comment détecter quand une variable change de valeur
0xF030 est en état de maximiser la fenêtre normale. 0xF120 est lors de la maximisation à partir de la barre des fenêtres – k4yaman
En fait, cela n'atteint que l'événement Minimize * Click *! Ce que vous cherchez est WM_SIZE (0x0005) & SIZE_MINIMIZED (1) –