How to use a function for every C# WinForm instead of pasting -


protected override bool processcmdkey(ref message msg, keys keydata)         {             {                 if (keydata == keys.escape) this.close();                 return base.processcmdkey(ref msg, keydata);             }         } 

i discovered snippet close windows form esc. want implement every windows form. try create new abstract class inherit form , windows form inherit 1 . doesn't work way .

abstract class absform: form {         protected override bool processcmdkey(ref message msg, keys keydata)         {             {                 if (keydata == keys.escape) this.close();                 return base.processcmdkey(ref msg, keydata);             }         }     }     public partial class hoadonbansach : absform     {         public hoadonbansach()         {             initializecomponent();         } 

thanks reading :)

i suggest not doing in form instead implement imessagefilter , add using application.addmessagefilter. following:

public class closewindowbehavior : imessagefilter {      const int wm_keydown = 0x100;     const int vk_escape = 0x1b;      bool imessagefilter.prefiltermessage(ref message m) {         if (m.msg == wm_keydown && (int)m.wparam == vk_escape) {             if (form.activeform != null) {                 form.activeform.close();             }             return true;         }         return false;     }  }  application.addmessagefilter(new closewindowbehavior()); 

Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -