I just want to list all fonts into ListBox and fonts. and When I Chose ListBox item Come into TextBox.

I found some codes. But when I chose ListrBox Listed Font, it comes to TextBox like this = "Arial Narrow; 14pt"

Even I used Substring... Not Get a correct Result. ( Maybe I use in wrong Row)

But I want only "Arial Narrow"

is there any easy way to do this correctly ?

Code:
Imports System.Drawing.Text

Public Class Form1

    Private Sub BindListBox()
        ListBox1.DrawMode = DrawMode.OwnerDrawFixed
        ListBox1.Font = New Font("Microsoft Sans Serif, 11.25pt", 11.25)
        ListBox1.ItemHeight = 20
        Dim objFontFamily As FontFamily
        Dim objFontCollection As System.Drawing.Text.FontCollection
        Dim tempFont As Font
        objFontCollection = New System.Drawing.Text.InstalledFontCollection()
        For Each objFontFamily In objFontCollection.Families
            If objFontFamily.IsStyleAvailable(FontStyle.Regular) Then
                tempFont = New Font(objFontFamily, 14, FontStyle.Regular)
            ElseIf objFontFamily.IsStyleAvailable(FontStyle.Bold) Then
                tempFont = New Font(objFontFamily, 14, FontStyle.Bold)
            ElseIf objFontFamily.IsStyleAvailable(FontStyle.Italic) Then
                tempFont = New Font(objFontFamily, 14, FontStyle.Italic)
            End If
            Dim lst As New ListViewItem
            lst.Font = tempFont
            lst.Text = tempFont.FontFamily.Name
            ListBox1.Items.Add(tempFont)
        Next
    End Sub
    Private Sub ComboBox1_DrawItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ComboBox1.DrawItem
        e.DrawBackground()
        If (e.State And DrawItemState.Focus) <> 0 Then
            e.DrawFocusRectangle()
        End If
        Dim objBrush As Brush = Nothing

        Try
            objBrush = New SolidBrush(e.ForeColor)
            e.Graphics.DrawString(DirectCast(ComboBox1.Items(e.Index), Font).Name, DirectCast(ComboBox1.Items(e.Index), Font), objBrush, e.Bounds)
        Finally
            If objBrush IsNot Nothing Then
                objBrush.Dispose()
            End If
            objBrush = Nothing
        End Try

    End Sub

    Private Sub ListBox1_DrawItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ListBox1.DrawItem
        e.DrawBackground()
        If (e.State And DrawItemState.Focus) <> 0 Then
            e.DrawFocusRectangle()
        End If
        Dim objBrush As Brush = Nothing

        Try
            objBrush = New SolidBrush(e.ForeColor)
            e.Graphics.DrawString(DirectCast(ListBox1.Items(e.Index), Font).Name, DirectCast(ListBox1.Items(e.Index), Font), objBrush, e.Bounds)
            'e.Graphics.DrawString(ListBox1.Items(e.Index).ToString(), e.Font, New SolidBrush(e.ForeColor), e.Bounds, StringFormat.GenericDefault)
            e.DrawFocusRectangle()
        Finally
            If objBrush IsNot Nothing Then
                objBrush.Dispose()
            End If
            objBrush = Nothing
        End Try
    End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ListBox1.DrawMode = DrawMode.OwnerDrawFixed

        BindListBox()

    End Sub
    Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
        TextBox1.Focus()
        If ListBox1.SelectedIndex >= 0 AndAlso ListBox1.SelectedIndex < ListBox1.Items.Count - 1 Then
            'astring = astring.Substring(0, astring.IndexOf(","))
            'Dim LstBxText = TextBox1.Text.Substring(0, TextBox1.Text.IndexOf(";"))
            'TextBox1.Text = LstBxText

            TextBox1.Text = ListBox1.Text 'ListBox1.Text 'ListBox1.SelectedItem.ToString()

            TextBox1.Focus()
            TextBox1.SelectAll()
        End If
    End Sub

  
End Class