Вам нужно обработать сообщение WM_SYSCOMMAND
, следя за wParam == SC_MAXIMIZE
.
Если вы ловите SC_MINIMIZE, вы можете делать то, что вы хотите, и не передавать его в Windows.
* 1008 MSDN *
Нашел этот фрагмент здесь.
const int WM_SYSCOMMAND= 0x0112;
const int SC_MAXIMIZE= 0xF030;
protected override void WndProc(ref Message m)
{
if(m.Msg==WM_SYSCOMMAND)
{
if((int)m.WParam==SC_MAXIMIZE)
{
MessageBox.Show("Maximized!!");
return; // swallow the message
}
}
base.WndProc (ref m);
}