Estoy haciendo un sistema de registro para un programa de im creación y actualmente tengo a donde se hace esto:

void outToLog(string output)
{
    logRichTextBox.AppendText(output + "\r\n");
    logRichTextBox.ScrollToCaret();
}

Pero termina hasta la salida de la última línea de la RichTextBox como en blanco (porque estoy usando \n) y quiero que la última línea para ser sólo sea cual sea el resultado, no fue una línea en blanco. Una alternativa fue para mí para poner el "\r\n" al principio, pero esto tiene el mismo efecto, salvo en el comienzo de la RichTextBox.

ayuda? gracias

  • Por favor no crear su propio marco de registros: uso NLog. Para cómo utilizar un control richtextbox, no a la mente este comentario 😉
  • por desgracia, la programación es cada uno su propia, no quiero usar NLog. No estoy creando mi propio marco de registros. Simplemente estoy saliendo las cosas a un cuadro de texto enriquecido si usted desea llamar a que mi «marco».

2 Comentarios

  1. 7

    Anexar el texto después de la nueva línea.

    void outToLog(string output)
    {
        logRichTextBox.AppendText("\r\n" + output);
        logRichTextBox.ScrollToCaret();
    }

    Si usted no desea que el de nueva línea al inicio, compruebe el cuadro de texto de texto vacío y sólo agregar la \r\n cuando el cuadro de texto no está vacío.

    void outToLog(string output)
    {
        if(!string.IsNullOrWhiteSpace(logRichTextBox.Text))
        {
            logRichTextBox.AppendText("\r\n" + output);
        }
        else
        {
            logRichTextBox.AppendText(output);
        }
        logRichTextBox.ScrollToCaret();
    }
    • El usuario dijo que él ya ha probado esto: «Una alternativa para que me ponga el «\r\n» en el principio, pero esto tiene el mismo efecto, salvo en el comienzo de la richtextbox.»
    • gracias! obras. agradezco
    • Intentar «\r». Que funciona para mí. «\r\n» y «\n» en el otro lado me da una línea en blanco entre.
  2. 6

    Eh, ¿por qué no de verificación? Si el cuadro de texto de vacío – acaba de poner a la salida, pero si el cuadro de texto de no vacío, agregar un nueva línea y, a continuación, añadir el de la salida.

    void outToLog(string output)
    {
        if (String.IsNullOrEmpty(logRichTextBox.Text)) 
            logRichTextBox.AppendText(output);
        else
            logRichTextBox.AppendText(Environment.NewLine + output);
    
        logRichTextBox.ScrollToCaret();
    }

Dejar respuesta

Please enter your comment!
Please enter your name here