我有一個文本框,我分解爲基於「\ r」Silverlight C# - 如何複製在文本框中單擊的文本行?
我希望有一行文本被點擊放在一個字符串。
舉例來說,如果我點擊下面我文本框中的2號線,我想「第2行」將進入串
一號線
二號線
最後一行
我該怎麼做呢?
我有一個文本框,我分解爲基於「\ r」Silverlight C# - 如何複製在文本框中單擊的文本行?
我希望有一行文本被點擊放在一個字符串。
舉例來說,如果我點擊下面我文本框中的2號線,我想「第2行」將進入串
一號線
二號線
最後一行
我該怎麼做呢?
這是不是一個真正的回答是我最終從一個數據網格抓取了字符串,我是po從本文中引用的文本框中調出數據。
鏈接到該解決方案是:Silverlight C# - How to get value of row/cell clicked on in DataGrid?
-1:完全不同於您要求的內容這個問題。這個答案根本與你的問題無關。 – JohnB 2011-01-16 04:23:46
這很接近,但我建議在TextBox.SelectionStart和TextBox.SelectionEnd之間選擇文本,而不是你正在嘗試做的事情。
WPF,但它可能是同一
MainWindow.xaml
<TextBox
MouseDoubleClick="textBox1_MouseDoubleClick" />
MainWindow.xaml.cs
private void textBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
int characterIndex = this.textBox1.SelectionStart;
string characterIndexSubstring = this.textBox1.Text.Substring(0, characterIndex);
int lineNumber = characterIndexSubstring.Split(new string[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries).Length;
string[] lines = textBox1.Text.Split(new string[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
string clickedOnValue = lines[lineNumber];
MessageBox.Show(clickedOnValue);
}
看起來像那裏大部分存在,但它總是返回第[0]行,因爲它沒有代碼來實際收集哪一行實際被點擊,因此它默認爲0. – Sootah 2011-01-14 21:59:40
你爲什麼不分裂的` 「\ r \ n」`,Windows的新行字符? – JohnB 2011-01-17 18:05:50