特定の ToolStrip 内のすべての ToolSTripDropDownMenu で ImageMargin および CheckMargin プロパティを設定しようとしています。
foreach (ToolStripDropDownButton tsd in toolStrip1.Items)
{
((ToolStripDropDownMenu)tsd.DropDown).ShowImageMargin = false;
((ToolStripDropDownMenu)tsd.DropDown).ShowCheckMargin = false;
}
次のような例外がスローされます。
System.InvalidCastException: タイプ 'System.Windows.Forms.ToolStripButton' のオブジェクトをタイプ 'System.Windows.Forms.ToolStripDropDownButton' にキャストできません。
ToolStrip には、ToolStripDropDownButtons 以外のコントロール (つまり、ToolStripButtons と ToolStripLabels) が含まれているため、エラーが発生している場所を確認できます。私が理解できないのは、ToolStripDropDownButtons のみを変更する方法です。ToolStripDropDownMenu には、標準の ContextMenu とは異なり、デフォルトで CheckMargin または ImageMargin プロパティが含まれていません。