Click here to Skip to main content
11,796,774 members (78,971 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: C# C#4.0 Events CURSOR
My code only get from textbox I want to get on window such as a weppage or text file HOW ?

private void txtHoverWord_MouseMove(object sender, MouseEventArgs e)
    if (!(sender is TextBox)) return;
    var targetTextBox = sender as TextBox;
    if (targetTextBox.TextLength < 1) return;
    var currentTextIndex = targetTextBox.GetCharIndexFromPosition(e.Location);
    var wordRegex = new Regex(@"(\w+)");
    var words = wordRegex.Matches(targetTextBox.Text);
    if (words.Count < 1) return;
    var currentWord = string.Empty;
    for (var i = words.Count - 1; i >= 0; i--)
        if (words[i].Index <= currentTextIndex)
            currentWord = words[i].Value;
    if (currentWord == string.Empty) return;
    tooltip1.SetToolTip(targetTextBox, currentWord);
Posted 28-Mar-13 1:26am

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

What you are asking for is close to impossible without sincere effort.
Remember that since your program will have absolutely no connection with the target application which has rendered the word in the first place (your browser, notepad etc), you have to resort to different tactics than just a simple mouse hover event.
My suggestion is to try to capture the area under the mouse and then applying OCR.
I can't think of any other way this can be done.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Abhinav S 379
1 OriginalGriff 360
2 Maciej Los 360
3 CPallini 295
4 KrunalRohit 280
0 OriginalGriff 2,032
1 Maciej Los 1,725
2 KrunalRohit 1,310
3 CPallini 1,055
4 ppolymorphe 883

Advertise | Privacy | Mobile
Web02 | 2.8.151002.1 | Last Updated 28 Mar 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100