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#