Vs60 dan Vs.net e geçen arkadaşların karşılaşacağı bir sorun.
Formun WindowState özelliğinin değiştiğinin algılanması; (Maximized,Minimized,Normal)
Form event lerinde bu olaya hakim olmamızı sağlayacak bir olay mevcut değil.
Bu işlemi WndProc metodunu override ederek hallediyoruz.
m.Msg WM_SIZE (0x0005) e eşit olduğunda form'un size edildiğini anlıyoruz.
m.WParam ise bize size olayının türünü belirtiyor.
protected override void WndProc(ref Message m)
{
if (m.Msg == /*WM_SIZE*/ 0x0005)
{
if (m.WParam.ToInt32() == 2)
{
//Maximized
}
else if (m.WParam.ToInt32() == 0)
{
//Normal
}
}
base.WndProc(ref m);
}