Mega Code Archive

 
Categories / VB.Net / GUI
 

Display All font installed in your system

Imports System Imports System.Windows.Forms Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Drawing.Text Imports System.Drawing.Imaging Imports System.Runtime.InteropServices Public Class MainClass   Shared Sub Main()      Dim form1 As Form1 = new Form1      Application.Run(form1)   End Sub    End Class Public Class Form1   Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code "   Public Sub New()     MyBase.New()     'This call is required by the Windows Form Designer.     InitializeComponent()     'Add any initialization after the InitializeComponent() call   End Sub   'Form overrides dispose to clean up the component list.   Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)     If disposing Then       If Not (components Is Nothing) Then         components.Dispose()       End If     End If     MyBase.Dispose(disposing)   End Sub   'Required by the Windows Form Designer   Private components As System.ComponentModel.IContainer   'NOTE: The following procedure is required by the Windows Form Designer   'It can be modified using the Windows Form Designer.     'Do not modify it using the code editor.   Friend WithEvents panel As System.Windows.Forms.Panel   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()     Me.panel = New System.Windows.Forms.Panel()     Me.SuspendLayout()     '     'panel     '     Me.panel.AutoScroll = True     Me.panel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D     Me.panel.Location = New System.Drawing.Point(19, 21)     Me.panel.Name = "panel"     Me.panel.Size = New System.Drawing.Size(304, 280)     Me.panel.TabIndex = 3     '     'Form1     '     Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)     Me.ClientSize = New System.Drawing.Size(342, 323)     Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.panel})     Me.MaximizeBox = False     Me.MinimizeBox = False     Me.Name = "Form1"     Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen     Me.Text = "Form1"     Me.ResumeLayout(False)   End Sub #End Region   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load     Dim Style As FontStyle     Dim y As Int32 = 0     Dim ff As FontFamily     For Each ff In FontFamily.Families       Style = FontStyle.Regular       If ff.IsStyleAvailable(Style) Then         AddString(ff, y, Style)       End If     Next   End Sub   Private Sub AddString(ByVal ff As FontFamily, ByRef y As Int32, ByVal Style As FontStyle)     Dim fnt As Font = New Font(ff, 12, Style, GraphicsUnit.Pixel)     Dim LineSpace As Int32 = CInt((ff.GetLineSpacing(Style)) * _                               fnt.Size / ff.GetEmHeight(Style))     y += LineSpace + 2     Dim pictureBox As PictureBox = New PictureBox()     pictureBox.Height = LineSpace     pictureBox.Width = panel.Width     Dim B As Bitmap = New Bitmap(pictureBox.Width, pictureBox.Height)     Dim G As Graphics = Graphics.FromImage(B)     G.DrawString(ff.Name + " : Style = " + Style.ToString(), _                     fnt, Brushes.Black, 0, 0)     pictureBox.Image = B     panel.Controls.Add(pictureBox)     panel.Controls(panel.Controls.Count - 1).Location = New Point(2, y)     If y < panel.Height Then       panel.Refresh()     End If     fnt.Dispose()     G.Dispose()   End Sub End Class