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

  • LatinNinja99

    LatinNinja99

    28 EKİM 2011
  • NLthomas21

    NLthomas21

    20 Mayıs 2008
  • Plugable

    Plugable

    19 Mayıs 2010