It's a difficult thing to code.
You can look into PluginCore.Controls.UITools to see how it hides the tooltips.
Actually I've managed quite all the other cases in which the tooltip should get hidden (except a normal key-press).
It might be worth exposing a simple event for that (in UITools) to make it easier.
Do you think about a forwarding/spreading the key-event or an HideToolTip-event? Alternatively you could offer the option to pass the Tooltip that is displayed (in fact I don't have any text in my Tooltip, that's why I had to write a custom one. Although it's a bit difficult because I'm handlig the different events a little else)?