Revision: 23658
                            
                                                            
                                    
                                        
Updated Code
                                    
                                    
                                                    
                        at February 10, 2010 16:26 by jimfred
                            
                            Updated Code
protected override void WndProc(ref Message m)
{
    const int WM_CLOSE = 0x0010;
    if (m.Msg == WM_CLOSE)
    {
        // I don't want 'X' to destroy the window - just hide it.
        // related: "Minimizing a window to the System Tray on a Close event" at
        // http://www.pixvillage.com/blogs/devblog/archive/2005/03/26/174.aspx
        this.Hide();
        return;
    }
    base.WndProc(ref m);
}
                                
                            Revision: 23657
                            
                                                            
                                    
                                        
Initial Code
                                    
                                    
                                                            
                                    
                                        
Initial URL
                                    
                                    
                                                            
                                    
                                        
Initial Description
                                    
                                    
                                                            
                                    
                                        
Initial Title
                                    
                                    
                                                            
                                    
                                        
Initial Tags
                                    
                                    
                                
                                                            
                                    
                                        
Initial Language
                                    
                                    
                                                    
                        at February 10, 2010 16:21 by jimfred
                            
                            Initial Code
protected override void WndProc(ref Message m)
      {
         const int WM_CLOSE = 0x0010;
         if (m.Msg == WM_CLOSE)
         {
            // I don't want 'X' to destroy the window - just hide it.
            // related: "Minimizing a window to the System Tray on a Close event" at
            // http://www.pixvillage.com/blogs/devblog/archive/2005/03/26/174.aspx
            this.Hide();
            return;
         }
         base.WndProc(ref m);
      }
                                Initial URL
http://bytes.com/topic/c-sharp/answers/258899-how-do-i-intercept-close-event
Initial Description
Typical scenario: app pops up a dialog, user clicks 'X' and the dialog disposes. If the app attempts to access the dialog then runtime errors occur. This approach allows the app to retain access to the dialog to re-show the dialog. An alternative would be for the app to check the disposed state of the dialog but this Close-->Hide approach is simpler and more transparent. http://www.pixvillage.com/blogs/devblog/archive/2005/03/26/174.aspx Source contains a simple WndProc that handles WM_CLOSE by calling Hide().
Initial Title
C# WinForm, cause 'close' ('X') to hide instead of disposing by handling the WM_CLOSE message in WndProc.
                                Initial Tags
Initial Language
C#