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

  • Joshua Kywn

    Joshua Kywn

    17 Mayıs 2010
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008
  • The White House

    The White Ho

    21 Ocak 2006