I converted your program to VB.NET, here is the code. I hope you don't mind.
Imports System
Imports System.Drawing
Imports System.Data
Imports System.Deployment
Imports System.Drawing.Imaging
Imports System.Windows.Forms
Namespace TempGraphic
End Namespace
Partial Public Class frmMain
    Inherits Form
    Public Sub New()
        MyBase.New()
        InitializeComponent()
        Me.CreateImage("")
    End Sub
    Private Sub CreateImage(ByVal text As String)
        Dim lines() As String = text.Split(New String() {"" & vbCrLf}, StringSplitOptions.RemoveEmptyEntries)
        If ((lines.Length > 0) _
                    AndAlso (lines.Length < 4)) Then
            Dim font As Font = New Font("Tahoma", 8, FontStyle.Bold)
            Dim bmp As Bitmap = New Bitmap(1, 1)
            Dim w As Integer = 0
            Dim g As Graphics = Graphics.FromImage(bmp)
            For Each line As String In lines
                Dim tmpsize As SizeF = g.MeasureString(line, font, 90)
                If (tmpsize.Width > w) Then
                    w = CType(tmpsize.Width, Integer)
                End If
            Next
            bmp = New Bitmap((w + 10), (25 _
                            + ((lines.Length - 1) _
                            * (lines.Length > 1))))
            Dim x As Integer = 1
            Do While (x < bmp.Width)
                Dim y As Integer = 1
                Do While (y < bmp.Height)
                    If (((x = 1) _
                                OrElse (y = 1)) _
                                OrElse ((x _
                                = (bmp.Width - 1)) _
                                OrElse (y _
                                = (bmp.Height - 1)))) Then
                        bmp.SetPixel(x, y, Color.White)
                    Else
                        bmp.SetPixel(x, y, Color.FromArgb(104, 36, 96))
                    End If
                    y = (y + 1)
                Loop
                x = (x + 1)
            Loop
            Dim l As Integer = 0
            For Each line As String In lines
                g.DrawString(line, font, Brushes.White, 5, (5 _
                                + (l * 15)))
                l = (l + 1)
            Next
            Me.pictureBox1.Image = CType(bmp, Image)
            Me.button1.Enabled = True
        Else
            Me.pictureBox1.Image = Nothing
            Me.button1.Enabled = False
        End If
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
        If Me.pictureBox1 IsNot Nothing Then
            Dim result As DialogResult = Me.saveFileDialog1.ShowDialog()
            If result = DialogResult.OK Then
                Me.pictureBox1.Image.Save(Me.saveFileDialog1.FileName, ImageFormat.Png)
            End If
        End If
    End Sub
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles textBox1.TextChanged
        Dim self As TextBox = DirectCast(sender, TextBox)
        Me.CreateImage(self.Text)
    End Sub
End Class
The only thing I wasn't able to do is make the text show in the picture.