2010-12-03 29 views
0

ici est mon codePas en mesure de compter le nombre de ligne dans richtextbox

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

je veux mettre à jour TextBox1 que j'appuyez sur Entrée dans richtextbox du clavier ... mais Textbox garde montrent que FirstRow et montre un (1)

Répondre

0

Est-ce que Allocation_Matrix est votre RichTextBox? Notez que RichTextBox.Text renvoie le texte avec saut de ligne ("\ n") pour les sauts de ligne, où la plupart des autres contrôles Windows utilisent un retour chariot, saut de ligne ("\ r \ n"). Par conséquent, si vous appelez Split sur la chaîne retournée par la propriété Text, elle ne contiendra pas Evironment.NewLine.

+0

getRows public int() { string [] de Arlines; int i; arLines = Allocation_Matrix.Text.Split (nouvelle chaîne [] {Environment.NewLine}, StringSplitOptions.None); pour (i = 0; i

+0

Le code ci-dessus fonctionne maintenant ..... ALORS vous vous trompez :( –

0

essayer Allocation_Matrix.Text.Lines.Count() Méthode

+0

Aucune méthode n'est disponible ::::::: –

0

essayer cette

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

Veuillez ajouter plus de détails –