Okay so... what is the point of this class? Basically, if you directly feed a form (that you want to display as a dockable panel) to Npp, you will get screwed It handles form so poorly, it can cause npp to freeze when you play with it (docking it/undocking it, moving it...) So, what we do is we tell Npp to use a dummy form with nothing on it and we let it manipulate this meanless form. Meanwhile, we hook to this empty form and we track its position/size to cover it with our own borderless window Unfortunatly, we can't just subscribe to ClientSizeChanged and LocationChanged events of the master form because when we move the Npp window, the LocationChange event of the master form isn't triggered... Idk why... So instead, use a hook onto npp and we update the position/size each time we receive a message that npp has moved