So che posso ottenere lo stato corrente da WindowState, ma voglio sapere se c'è un evento che si attiva quando l'utente tenta di minimizzare il modulo.Come rilevare quando viene ridotto a icona un modulo di Windows?
risposta
di entrare in prima il modulo è stato ridotto al minimo dovrete agganciare nella procedura 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);
}
Per reagire dopo la forma è stata minimizzata gancio nel Resize
evento come indicato dalle altre risposte (incluso qui per completezza):
private void Form1_Resize (object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
// Do your action
}
}
Non so di uno specifico evento, ma i Resize
evento viene generato quando il modulo viene ridotto al minimo, è possibile verificare la presenza di FormWindowState.Minimized
in tal caso
Questo combinato con un flag "lastState" privato è il modo più semplice per farlo. –
È possibile utilizzare l'evento Ridimensionamento e controllare la proprietà Forms.WindowState in caso.
private void Form1_Resize (object sender , EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
// Do some stuff
}
}
Si noti che questo sembra essere uno di quei posti in cui [Eccezioni possono essere ingerite] (http://stackoverflow.com/q/493395/11/119527). –
Per le persone che ricerca per Windows WPF minimizzare evento:
E 'un po' diverso. Per l'uso di callback WindowState:
private void Form1_Resize(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
// Do some stuff
}
}
L'evento da usare è StateChanged (invece Ridimensiona):
public Main()
{
InitializeComponent();
this.StateChanged += Form1_Resize;
}
- 1. Cattura i tasti multimediali quando l'applicazione viene ridotta a icona
- 2. Firefox interrompe l'esecuzione di JavaScript quando è ridotto a icona (longpolling)?
- 3. Attirare l'attenzione degli utenti quando il browser è ridotto a icona (notifiche desktop cross-browser?)
- 4. Come posso stampare finestre a schermo ridotto al minimo?
- 5. Riduci a icona il modulo Delphi nel vassoio di sistema
- 6. Viene inviato un campo di testo disabilitato quando viene inviato un messaggio a un modulo?
- 7. Come rilevare quando un popover viene rimosso in iOS 9
- 8. C# WinForms: come si impedisce di ridurre al minimo il modulo figlio quando la forma padre viene ridotta a icona?
- 9. Come posso rilevare quando la mia finestra è ridotta a icona con wxPython?
- 10. Rendi Windows icona cache
- 11. Perché un modulo non può essere salvato fino a quando non viene caricato un altro modulo?
- 12. Come creare un modulo di Windows a livello di programmazione?
- 13. Come posso rilevare determinati eventi di un modulo dall'esterno del modulo?
- 14. Imposta gli attributi di richiesta quando viene inviato un modulo
- 15. Forma a scaglione fila ridotto
- 16. Come gestire l'URL dell'immagine relativa che cambia quando il CSS viene ridotto?
- 17. Come vengono aggiunte automaticamente le unità Delphi quando un componente viene aggiunto a un modulo?
- 18. Come evitare di premere il pulsante fino a quando la richiesta di modulo non viene completata quando la richiesta di modulo causa il download di un file
- 19. Smaltire un non componente quando un modulo viene smaltito?
- 20. Rilevare quando viene utilizzata l'immagine di errore in PictureBox
- 21. Come rilevare un indirizzo IP di MS Windows senza polling
- 22. Come rilevare il nome del modulo quando il mouse è posizionato su qualsiasi modulo SDI
- 23. Come posso rilevare quando un iFrame diventa a schermo intero?
- 24. come rilevare quando un tasto di scelta rapida (tasto di scelta rapida) viene premuto
- 25. Windows App Store - Icona allungata
- 26. Come rilevare quando termina l'applicazione?
- 27. Perché il mio modulo viene ridimensionato quando viene visualizzato?
- 28. di Windows menu contestuale shell icona
- 29. come rilevare quando un file mp3 ha finito di giocare
- 30. Come rilevare quando un messaggio di protocollo buffer viene ricevuto completamente?
0xF030 è quando massimizzare dal normale stato della finestra. 0xF120 è quando si ingrandisce dalla barra di Windows – k4yaman
In realtà, questo rileva solo l'evento Riduci * Clicca *! Quello che stai cercando è WM_SIZE (0x0005) e SIZE_MINIMIZED (1) –