using a TextBox without focus
-
Hi, I have a user control that includes two other controls, one is a Panel and the other a TextBox (or actually, a user control inherited from a TextBox). The Panel can be used for mouse input (the position of a mouseclick and so on) and the TextBox is there for numerical input. What I want to achieve is that the user can type in a number in the TextBox without having to explicitly give focus to the TextBox first. Preferably, I'd like the TextBox to be filled without ever recieving the focus. I've been able to redirect the key input through the OnKeyDown and OnKeyUp of the user control to those of the TextBox, but it doesn't seem to get processed when the TextBox doesn't have the focus. What I'm desperately trying to prevent is having to catch and interpret every key high-up, for instance in ProcessCmdKey, and then set the text in the TextBox myself. What you're doing then is essentially rebuilding the functionality of a TextBox, which doesn't seem like a good idea. So I though a good compromise would be to let the user control 'listen' for any key input and take that as a sign that the user wants to use the TextBox. Upon the first encountered key I give the focus to the TextBox and redirect all key input to it. Unfortunately, when the very first key reaches the TextBox, it DOES have the focus but the key still isn't shown. Although the Focused-property of the TextBox is true, somehow it doesn't seem to realise this yet deep down. Calling the TextBox' OnKeyDown twice doesn't help. Only the second key I press gets displayed. Does anyone know why this occurs or how to circumvent it? Or perhaps someone has an entirely different approach to achieve the effect I'm aiming for, basically a TextBox that can take raw keyboard input but that doesn't need focus. Thanks.