2013-03-26 49 views
0

我的錯誤是什麼?我想在網站上發佈textbox2.And抱歉,因爲我的英文不好。 :)獲取光標下的單詞是什麼是我的錯誤?

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 = textBox2.GetCharIndexFromPosition(e.Location); 
    var wordRegex = new Regex(@"(\w+)"); 
    var words = wordRegex.Matches(textBox2.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; 
      break; 
     } 
    } 

    if (currentWord == string.Empty) return; 
    toolTip1.SetToolTip(textBox2, currentWord); 
} 
+1

你收到任何錯誤,任何異常? _我的錯誤是什麼?_不是一個好的方法來問.. – 2013-03-26 13:18:30

回答

0

我相信你可能無意中指定textBox2而不是targetTextBox在你的代碼。

嘗試修改爲以下內容:

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; 
      break; 
     } 
    } 

    if (currentWord == string.Empty) return; 
    tooltip1.SetToolTip(targetTextBox, currentWord); 
} 

注意到我改變textBox2targetTextBox無論它出現在你的代碼。

+0

targetTextBox.GetCharIndexFromPosition(e.Location);不要讓Visual Studio的targettextbox沒有getchar fonc。 – 2013-03-26 13:40:30

+0

@ kdr_81我想你是說'targetTextBox'不支持'GetCharIndexFromPosition'方法。但是,從.Net 2.0開始,這個函數已經存在於'TextBox'類中。你能否嘗試澄清你遇到的問題? – 2013-03-26 13:44:53

+0

現在支持:)但不工作我有2個問題 tooltip1.SetToolTip(targetTextBox,currentWord);其tooltip1或工具提示?以及我如何稱此metod :) – 2013-03-26 13:51:19