我是用vs2005开发的一个C/S结构的代码,只是想让对话框右上角的“最小化”和“关闭”按钮,点击之后,对话框只是隐藏到电脑的右下角,怎么做?我电脑右下角有一个小图标,双击这个图标之后,对话框又弹出来了,这个我做出来了,只是不会处理对话框右上角的“最小化”和“关闭”按钮。哪个大侠会?给点帮助,小弟在这里不胜感激,谢谢哈!

解决方案 »

  1.   

    通过窗体的SizeChanged事件,实例如下:private void MainMdi_SizeChanged(object sender, EventArgs e)
            {
                if (this.WindowState == FormWindowState.Minimized)
                {
                    //窗体最小化时,隐藏到拖盘图标
                    this.Hide();
                }        }
      

  2.   

    通过窗体的SizeChanged事件
    private void MainMdi_SizeChanged(object sender, EventArgs e)
            {
                if (this.WindowState == FormWindowState.Minimized)
                {
                    //窗体最小化时,隐藏到拖盘图标
                    this.Hide();
                }        }
      

  3.   

    你可以参考下这个 
    http://blog.csdn.net/zgke/archive/2008/12/31/3670069.aspxcase (int)SysParam.Close: 
                            return; 这样系统就不处理关闭消息
      

  4.   

    private void Form1_Resize(object sender, System.EventArgs e) 

    if (this.WindowState == FormWindowState.Minimized) 

    this.Visible = false; 
    this.notifyIcon1.Visible = true; 


    private void notifyIcon1_Click(object sender, System.EventArgs e) 

    this.Visible = true; 
    this.WindowState = FormWindowState.Normal; 
    this.notifyIcon1.Visible = false; 
      

  5.   

    private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
    {
        if (!this.IsDisposed)
        {
            this.Show();
        }
    }
    protected override void OnClosing(CancelEventArgs e)
    {
        e.Cancel = true;
        this.Hide();
        //base.OnClosing(e);
    }
    protected override void OnSizeChanged(EventArgs e)
    {
        if (this.WindowState == FormWindowState.Minimized)
        {
            this.Hide();
        } 
        base.OnSizeChanged(e);
    }
      

  6.   

    protected override void OnClosing(CancelEventArgs e) 

        e.Cancel = true; 
        this.Hide(); 
        //base.OnClosing(e); 

    推荐这个,不过没必要注释掉base.OnCloseing,不受影响
    为了不使"特例"破坏"通用",还是尽可能的继续调用OnClosing,这样不会影响其它订阅者
      

  7.   

    感谢各位。
    我用的是(其实楼上几位给的都很好用,谢谢了):最小化:通过窗体的SizeChanged事件,实例如下: private void MainMdi_SizeChanged(object sender, EventArgs e) 
            { 
                if (this.WindowState == FormWindowState.Minimized) 
                { 
                    //窗体最小化时,隐藏到拖盘图标 
                    this.Hide(); 
                }         }
    关闭:
    protected override void OnClosing(CancelEventArgs e) 

        e.Cancel = true; 
        this.Hide(); 
        //base.OnClosing(e);