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

  • chickenby

    chickenby

    2 HAZİRAN 2008
  • Sparta Spartanutul

    Sparta Spart

    18 HAZİRAN 2013
  • tinycammonitor

    tinycammonit

    14 Aralık 2010