2010-12-03 3 views
0

hier ist mein CodeNicht in der Lage Zeilennummer in richtextbox zu zählen

private void Allocation_Matrix_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     if (e.KeyChar == 13) 
     { 
      int Total_Row_Check; 
      Total_Row_Check = getRow(); 
      Textbox1.Text = Convert.ToString(Total_Row_Check); 
      if (Total_Row_Check >= Convert.ToInt32(Total_Processes.Text)) 
      { 
       MessageBox.Show("rows cannot exceed from total number of processess"); 
      } 
     } 
    } 

    public int getRow() 
    { 
     int Row = 0; 
     string[] arLines; 
     int i; 
     arLines = Allocation_Matrix.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); 
     for (i = 0; i < arLines.Length; i++) 
     { 
      Row++; 
     } 
     return Row; 
    } 

i TextBox1 aktualisieren möchten, wie ich in richtextbox von der Tastatur die Eingabetaste drücken ... aber Textbox hält nur FirstRow zeigen und zeigt One (1)

Antwort

0

Ist Allocation_Matrix Ihre RichTextBox?

Beachten Sie, dass RichTextBox.Text den Text mit Zeilenumbruch ("\ n") für die Zeilenumbrüche zurückgibt, wo die meisten anderen Windows-Steuerelemente einen Wagenrücklauf, Zeilenvorschub ("\ r \ n") verwenden.

Wenn Sie also Split in der Zeichenfolge aufrufen, die von der Text-Eigenschaft zurückgegeben wird, enthält es keine Umgebung.NewLine.

+0

public int getRows() { string [] Arlines; int i; arLines = Allocation_Matrix.Text.Split (neue Zeichenfolge [] {Environment.NewLine}, StringSplitOptions.None); für (i = 0; i

+0

Der obige Code funktioniert jetzt ..... DANN bist du falsch :( –

0

versuchen Allocation_Matrix.Text.Lines.Count() -Methode

+0

Keine solche Methode ist verfügbar ::::::: –

0

versuchen, diese

private void richTextBox1_TextChanged(object sender, EventArgs e) 
{ 
var lineCount = richTextBox.Lines.Count(); 
numberLabel.Text = lineCount.ToString(); 
} 
+0

Bitte füge weitere Details hinzu –