Вы можете создать свой собственный разделитель меню
Public Class TextToolStripSeparator
Inherits ToolStripMenuItem
Public Overrides ReadOnly Property CanSelect() As Boolean
Get
Return DesignMode
End Get
End Property
Public Overrides Property Text() As String
Get
Return MyBase.Text
End Get
Set
value = value.Trim("-"C, " "C)
MyBase.Text = "---- " & value & " -------"
End Set
End Property
End Class
Он автоматически появится в контекстном меню «Вставка», если он определен в том же проекте.
Я такжепопытался переопределить метод OnPaint
.Безуспешно.Происходит какая-то магия, которая препятствует появлению нарисованных владельцем объектов.
РЕДАКТИРОВАТЬ :
Наконец, после некоторых исследований и множества проб и ошибок янашел более удовлетворительное решение.Вот как будет выглядеть результат

Сначала мы создадим наш собственный класс разделителя полосок инструментов.
Public Class TextToolStripSeparator
Inherits ToolStripMenuItem
Public Overrides ReadOnly Property CanSelect() As Boolean
Get
Return DesignMode
End Get
End Property
Public Overrides ReadOnly Property HasDropDownItems() As Boolean
Get
Return False
End Get
End Property
End Class
Как видите, он оченьпросто.Более сложная часть идет в нашем собственном MenuStrip
классе.Здесь мы предоставляем настроенный ToolStripRenderer
, который, в конце концов, делает свою работу.
Public Class MenuStripEx
Inherits MenuStrip
Public Sub New()
Me.Renderer = New ToolStripRendererEx()
End Sub
Private Class ToolStripRendererEx
Inherits ToolStripProfessionalRenderer
Protected Overrides Sub OnRenderItemText(e As ToolStripItemTextRenderEventArgs)
Const flags As TextFormatFlags = TextFormatFlags.HorizontalCenter Or TextFormatFlags.VerticalCenter
Dim item As ToolStripItem = e.Item
If TypeOf item Is TextToolStripSeparator Then
Dim textWidth As Integer = TextRenderer.MeasureText(item.Text, item.Font).Width
Dim rect As Rectangle = e.TextRectangle
rect.Width = e.ToolStrip.Width - rect.Left - 3
TextRenderer.DrawText(e.Graphics, item.Text, item.Font, rect, Color.DimGray, flags)
Dim y As Integer = rect.Y + rect.Height \ 2
Dim margin As Integer = (rect.Width - textWidth) \ 2
e.Graphics.DrawLine(Pens.DarkGray, rect.X, y, rect.X + margin, y)
e.Graphics.DrawLine(Pens.DarkGray, rect.Right - margin, y, rect.Right, y)
Else
MyBase.OnRenderItemText(e)
End If
End Sub
End Class
End Class