I'm no C# expert, but you can always move controls within their parent window. The problem is obtaining the metrics: this might be easy if you write your own editor, but not for a foreign control. Managing the mouse and mouse events is hundred times easier (the mouse hovers over the windows and is always accessible through system calls).
If you don't know where the keyboard cursor is and where the current word starts, provide the list-box elsewhere, on a static location. If you have these metrics and don't know how to move a list box dynamically, please ask a new question about that: I don't have the exact syntax.
(°v°)