ContextMenuStrip の メニューの 2 階層目のイメージマージンを非表示にする
ContextMenuStrip の ShowImageMargin プロパティに False を設定すると、イメージマージンを非表示にできます。
しかし、複数階層のメニューであっても非表示になるのは 1 階層目のイメージマージンのみとなります。
そこで、以下の方法にて 2 階層目のイメージマージンを非表示にします。
※解説に用いた Visual Studio 2005 の Edition は、Team System Edition です。
サンプルのダウンロード
■サンプルの説明

2 階層目のメニューのイメージマージンが非表示で表示されます。
■コード
Form1.vb
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim context As ContextMenuStrip = New ContextMenuStrip ' 1 階層目を作成 Dim firstMenu As ToolStripMenuItem = New ToolStripMenuItem() firstMenu.Text = "1 階層目" firstMenu.DisplayStyle = ToolStripItemDisplayStyle.Text context.Items.Add(firstMenu) ' 2 階層目を作成 Dim secondMenu As ToolStripItem = New ToolStripMenuItem() secondMenu.Text = "2 階層目" secondMenu.DisplayStyle = ToolStripItemDisplayStyle.Text firstMenu.DropDownItems.Add(secondMenu) ' 1 階層目のイメージマージンを非表示にする context.ShowImageMargin = False ' 2 階層目のイメージマージンを非表示にする DirectCast(firstMenu.DropDown, ToolStripDropDownMenu).ShowImageMargin = False Me.ContextMenuStrip = context End Sub End Class