Question: I need some code to convert standard C# TextBox to temperature TextBox which means adding "°C" to end of the text in the textbox with another color than the default color.

Answer: 
TextBox is a plain text editor. To get different colours you would have to muck around with a rich text box. Why not put the "°C" in a label positioned to the right of the text box? That would also make your parsing and rendering code much easier.
The other solutions proposed here are probably sufficient for your application; however, if you had the need to implement this with *re-usability* in mind, here is a custom control solution which you may extend to better suit your application:

```
public class TemperatureTextBox : ContainerControl
{
    private const int BORDER_SIZE = 1;

    // Exposes text property of text box,
    // expose other text box properties as needed:
    public override string Text
    {
        get { return textBox.Text; }
        set { textBox.Text = value; }
    }

    private TextBox textBox = new TextBox()
    {
        Text = string.Empty,
        BorderStyle = BorderStyle.None,
        Dock = DockStyle.Fill
    };

    private Label label = new Label()
    {
        Text = "°C",
        TextAlign = ContentAlignment.MiddleCenter,
        Size = new Size()
        {
            Width = 32
        },
        BackColor = SystemColors.Window,
        Dock = DockStyle.Right
    };

    public TemperatureTextBox()
    {
        this.BackColor = SystemColors.Window;
        this.Padding = new Padding(BORDER_SIZE);
        this.Controls.Add(label);
        this.Controls.Add(textBox);
        this.PerformLayout();
    }

    // Constrain control size to textbox height plus top and bottom border:
    protected override void OnResize(EventArgs e)
    {
        base.OnResize(e);
        this.Height = (textBox.Height + (BORDER_SIZE * 2));
    }

    // Render a border around the control:
    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);
        e.Graphics.DrawRectangle(
            SystemPens.ControlDarkDark,
            new Rectangle()
            {
                Width = (this.Width - BORDER_SIZE),
                Height = (this.Height - BORDER_SIZE)
            });
    }
}

```

Simply create a new class and drop this code in and rebuild you solution. It will create a new `TemperatureTextBox` control in the toolbox which can be dropped onto a new form and visually designed. 

This example exposes the `Text` property of the underlying text box by overriding the custom control's text property. You may want to expose other properties, and events depending on what your application needs to accomplish.