SORU
27 HAZİRAN 2009, CUMARTESİ


Nasıl windows form minimize edilirken algılamak için?

Yapabilirsiniz göre mevcut durumu olduğunu biliyorum, ama eğer kullanıcı formun en aza indirmek için çalıştığında, yangın, herhangi bir olay varsa bilmek istiyorum.

CEVAP
27 HAZİRAN 2009, CUMARTESİ


İçeri girmek içinönceforma bu Nedenle bir prosedür kanca gerekecek minimize edilmiştir:

    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 && this.minimizeToTray)
                {
                    MinimizeToTray();  // For example
                }
                break;
        }
        base.WndProc(ref m);
    }

Tepki vermeksonraform kanca diğer cevaplar işaret olarak Resize olay (bütünlüğü için buraya dahil) minimize edilmiştir:

private void Form1_Resize (object sender, EventArgs e)
{
    if (WindowState == FormWindowState.Minimized)
    {
        // Do your action
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Charles Nesson

    Charles Ness

    27 NİSAN 2006
  • metallmanutza13

    metallmanutz

    13 NİSAN 2007
  • Stevie

    Stevie

    2 Mayıs 2010