我正在尝试在某个 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。与标准 ContextMenu 不同,ToolStripDropDownMenu 默认不包含 CheckMargin 或 ImageMargin 属性。