我想实现窗口最小化到系统托盘,但却找不到窗口最小化时执行哪个事件,怎样才能捕获最小化的事件啊?

解决方案 »

  1.   

    #region //FormSizeChanged
    private void MainForm_SizeChanged(object sender, System.EventArgs e)
    {
    if(WindowState == FormWindowState.Minimized)
    {
    this.Enabled=false;
    this.Hide();
    }
    }
    #endregion
      

  2.   

    private void Form1_Resize(object sender, System.EventArgs e)
    {
    if (this.WindowState == FormWindowState.Minimized)
    {
    MessageBox.Show("噢,窗口最小化了!");
    }
    }
      

  3.   

    如果要屏閉Closed消息
    protected override void WndProc(ref Message m)
    {
    const int WM_SYSCOMMAND = 0x0112;
    const int SC_CLOSE = 0xF060;
    if (m.Msg == WM_SYSCOMMAND && (int) m.WParam == SC_CLOSE)
    {
    // User clicked close button
    this.WindowState = FormWindowState.Minimized;
    return;
    }
    base.WndProc(ref m);
    }
      

  4.   

    明白楼主的意思了,楼主是想让窗口最小化
    设置窗口的WindowStaten属性为
    FormWindowState.Minimized
    就OK了
      

  5.   

    SizeChanged事件里面去判断吧?我不确定。