# In eine TextBox protokollieren und ganz nach unten scrollen

**URL:** <https://entwicklergate.de/t/in-eine-textbox-protokollieren-und-ganz-nach-unten-scrollen/70>\
**Category:** Windows Forms\
**Tags:** net, csharp, winforms\
**Created:** [23. März 2015 um 12:44 UTC](https://entwicklergate.de/t/in-eine-textbox-protokollieren-und-ganz-nach-unten-scrollen/70 "2015-03-23T12:44:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![UweKeim](https://entwicklergate.de/user_avatar/entwicklergate.de/uwekeim/32/432_2.png) [@UweKeim](https://entwicklergate.de/u/UweKeim)\
**Post date:** [23. März 2015 um 12:44 UTC](https://entwicklergate.de/t/in-eine-textbox-protokollieren-und-ganz-nach-unten-scrollen/70/1 "2015-03-23T12:44:19Z")

</div>

Manchmal reicht bei einem kleinen Programm eine einfache mehrzeilige [`TextBox`-Instanz](https://msdn.microsoft.com/de-de/library/system.windows.forms.textbox) aus, wenn Ihr Infos wegprotokollieren wollt.

Nachfolgender Code als Extension-Methode zum direkten Verwenden:

```auto
internal static class TextBoxLogger
{
    public static void LogLine(
        this TextBox textBox, string text, params object[] args)
    {
        if (textBox.InvokeRequired)
        {
            // Aus Hintergrund-Thread? Dann über Invoke aufrufen.
            textBox.BeginInvoke(
                new MethodInvoker(() => LogLine(textBox, text, args)));
        }
        else
        {
            textBox.Text += string.Format(text, args);

            if (textBox.Visible)
            {
                // Formular muss aktiv sein, damit scrollen kann.
                var form = textBox.FindForm();
                if (form != null)
                {
                    form.Show();
                    form.BringToFront();
                    form.Activate();
                }

                textBox.Select();
                textBox.SelectionStart = textBox.TextLength;
                textBox.ScrollToCaret();
            }
        }
    }
}

```

Und natürlich könnt Ihr auch [ganz einfach in eine Datei loggen](http://entwicklergate.de/t/kurzest-mogliche-logging-klasse/29).
