2012-06-05 108 views
0

我無法從使用後面的WPF代碼的textarea中提取文本。從插入位置提取文本textarea

實施例: 晴天在倫敦

如果光標被設定在[d * AY]它應該返回天。 *爲遊標。

任何幫助將不勝感激。

+0

重寫你的例子。 *插針位置?如果脫字符號在那個位置上,你想要返回什麼字符串,「日」? –

+0

正是我想回來[天] – Amino

回答

0

這似乎工作,但我不知道當插入符號位於空格中間時它是如何表現的。因爲它基本上會返回最接近插入符號的標記。例如,「倫敦陽光燦爛的日子」這個短語有四個代幣:「晴天」,「日」,「英寸」和「倫敦」。

string selection; 

if (txtBox.Text.Length > 0) 
{ 
    int startIndex = 0; 

    for (int i = txtBox.CaretIndex - 1; i >= 0; i--) 
    { 
     if (String.IsNullOrWhiteSpace(txtBox.Text[i].ToString())) 
     { 
      startIndex = i; 
      break; 
     } 
    } 

    int length = txtBox.Text.Length - startIndex; 

    for (int i = startIndex; startIndex + i <= txtBox.Text.Length - 1; i++) 
    { 
     if (String.IsNullOrWhiteSpace(txtBox.Text[startIndex + i].ToString())) 
     { 
      length = i; 
      break; 
     } 
    } 

    selection = txtBox.Text.Substring(startIndex, length); 
} 
else 
{ 
    selection = ""; 
} 
+0

感謝您的快速回答,我想我忘了提及我正在使用WPF RichTextBox,你的解決方案似乎適用於文本框。 – Amino