¿Cómo borrar el último caracter de un textBox después de una longitud determinada en c#?

estoy intentando borrar los caracteres que se digiten en un textBox luego de que su longitud sea igual a 10, pero cuando se cumple esta condición estos nuevos caracteres reemplazan las primeras letras del texto. ejemplo 1234567890 -si digito 5 otro número este va a reemplazar el , así: 5234567890

código:

private void materialSingleLineTextField2_KeyPress(object sender, KeyPressEventArgs e)     {         if (txtName.Text.Length > 10)         {             String texto = txtName.Text;             texto = texto.Substring(0, texto.Count() - 1);             txtName.Text = texto;          }     }