richTextBox eingabe auf 150 zeichen begrenzen



  • hi,
    ich will in eine edit richTextBox max. 150 zeichen eigeben, wenn 150 zeichen drinnen sind dann will ich nur mehr löschen können, und halt wieder eigeben bis 150 zeichen vorhanden sind!

    mein ansatz:

    private void richTextBox_Message_TextChanged(object sender, System.EventArgs e)
    {
       int anzahl = 150 - richTextBox_Message.Text.Length;
       textBox_Counter.Text = anzahl.ToString();
       if(anzahl < 0) {
            richTextBox_Message.Text = richTextBox_Message.Text.Substring(1, 150);
            // Cursor auf pos 150 setzen... aber wie???
       }
    }
    

    ich weiss aber leider nicht wie ich die Cursor Position auf 150 setzen kann? hm jemand ne idee?

    bye



  • hab so gelöst:

    private void richTextBox_Message_TextChanged(object sender, System.EventArgs e)
    {
    	textBox_Counter.Text = System.Convert.ToString(150 - richTextBox_Message.Text.Length);
    	// wenn mehr als 150 zeichen
    	if(richTextBox_Message.Text.Length > 150) {
               richTextBox_Message.Text = richTextBox_Message.Text.Substring(0, 150);
    	       richTextBox_Message.SelectionStart = 150;
    	       textBox_Counter.Text = System.Convert.ToString(150 - richTextBox_Message.Text.Length);
    	}
    }
    


  • Die Eingabe begrenzen kannst Du auch mit

    richTextBox.MaxLength = 150;
    

    Cursor setzen:

    richTextBox.SelectionStart = 150;
    richTextBox.Focus();
    

Anmelden zum Antworten