Public Class myMessageBox Inherits Form Private WithEvents Btn As New Button Private Message As String Private Sub New() Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedDialog MinimizeBox = False MaximizeBox = False Size = New Size(300, 300) With Btn .SetBounds(Width - 100, 180, 75, 60) .Text = "OK" End With Controls.Add(Btn) End Sub Public Overloads Shared Sub Show(ByVal Message As String) Dim F As New myMessageBox F.Message = Message F.CenterToScreen() F.ShowDialog() End Sub Private Sub myMessageBox_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint e.Graphics.FillRectangle(Brushes.Beige, New Rectangle(0, 0, ClientRectangle.Width, 250)) e.Graphics.DrawIcon(SystemIcons.Information, 10, 30 - SystemIcons.Exclamation.Height \ 2) 'Dim Rect As New Rectangle(SystemIcons.Information.Width + 20, 0, Width - 20 - SystemIcons.Information.Width, 70) Dim Rect As New Rectangle(SystemIcons.Information.Width + 20, 0, Width - 20 - SystemIcons.Information.Width, 300) Dim Fmt As New StringFormat 'Fmt.LineAlignment = StringAlignment.Center Fmt.LineAlignment = StringAlignment.Near e.Graphics.DrawString(Message, New Font("Segoe UI", 16), Brushes.Blue, Rect, Fmt) End Sub Private Sub Btn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Btn.Click DialogResult = Windows.Forms.DialogResult.OK End Sub End Class