2011-01-14 6 views
-1

Ich habe eine Textbox, die ich in ein Array brechen basierend auf „\ r“Silverlight C# - Wie Textzeile kopieren, die in Textfeld angeklickt wird?

Ich mag würde die Textzeile haben, die auf in einen String angeklickt wird.

Zum Beispiel, wenn ich unten in meinem Textfeld auf der 2. Zeile klicken, würde ich „zweite Linie“ wie in den String eingegeben werden

1. Zeile
2. Zeile
letzte Zeile

Wie würde ich das machen?

+0

Warum sind Sie nicht Aufspalten auf ' "\ r \ n"', die Windows-Zeilenendmarke? – JohnB

Antwort

-2

sein Dies ist nicht wirklich ein antworte, als ich endete, die Schnur aus einem Datagrid ergreifend, war ich po pumpt mit Daten aus dem Textfeld, auf das in diesem Beitrag verwiesen wird.

Link zu dieser Lösung ist: Silverlight C# - How to get value of row/cell clicked on in DataGrid?

+0

-1: völlig anders als das, wonach Sie gefragt haben diese Frage. Diese Antwort ist für Ihre Frage überhaupt nicht relevant. – JohnB

2

Dies ist in der Nähe, aber ich empfehle, Text zwischen TextBox.SelectionStart und TextBox.SelectionEnd anstelle von dem, was Sie versuchen, zu wählen.

WPF, aber es könnte die gleiche

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

Sieht so aus, als wäre es meistens da, gibt aber immer die Zeile [0] zurück, da es keinen Code enthält, um tatsächlich zu erfassen, auf welche Zeile tatsächlich geklickt wurde. – Sootah

Verwandte Themen