我还在头疼如何能点了X之后不让关闭,而是隐藏?你用Spy++跟踪一下消息,看它是怎么回事。

解决方案 »

  1.   

    在窗体的Closing事件中加入如下语句:
    this.Dispose();
      

  2.   

    大哥,
    用了,但spy+的东西没看懂。
      

  3.   

    to  Anhowe(流星) ( )
    和以前的情况一样,
    在没有移出Page页进,可以执行在窗体的Closing事件中的语句,但做移出操作后出没有运行处理Closing事件的方法。
      

  4.   

    TO :layershow(绿叶兄) 
    //移出的代码,其它的太多。case 11:
                      int i = tabControlContainer.SelectedIndex;                  if(i!=0)
                      {
                         tabControlContainer.TabPages.RemoveAt(i);
                      }                  break;
      

  5.   

    就这么几句,还是看不出来有什么问题.:(
    这样执行是没有问题的
    自己再重新模拟一个简单的流程,如果不出现相同问题,说明不是RemoveAt的时候出问题了,那就需要另找原因了
    我的email:[email protected]可以发一份,我会帮忙调试
      

  6.   

    既然你的自定义菜单退出可以退出程序,那么你就重定义OnClosing
    protected override void OnClosing(CancelEventArgs e)
    {
             Application.Exit();
     }
    如果还不行的话,也就是你点X的时候没有调用到系统的OnClosing(),那问题就麻烦了上面有说想隐藏而不想关闭的这儿随便回答
    protected override void OnClosing(CancelEventArgs e)
    {
             Hide();
    this.ShowInTaskbar = false;
    notifyIcon1.Visible = true;
    e.Cancel = true;
    }
      

  7.   

    不过也有办法,你可以先算出X在窗体上的位置,然后在窗体的OnClick事件里面调用  Application.Exit();上面说的都只是解决办法,但是为什么会出现你所说的情况就不得而知了
      

  8.   

    to:13880079673(CMonkey)
    用你的方法
    protected override void OnClosing(CancelEventArgs e)
    {
             Application.Exit();
     }
    在点击“X”也没有关闭窗体。
    系统菜单“关闭(Alt+F4)”也一样。没有运行上面的代码。在自定义菜单“退出”中
    private void menuItemExit_Click(object sender, System.EventArgs e)
    {
    this.Close();
    this.Dispose();
    }
    可以退出程序,关闭窗体。
      

  9.   

    layershow(绿叶兄) 
    已经给你发了一份,有劳你了