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

  • engineerguy

    engineerguy

    10 Ocak 2010
  • Tek Syndicate

    Tek Syndicat

    23 Temmuz 2008
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010