- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在某个 ToolStrip 内的每个 ToolSTripDropDownMenu 中设置 ImageMargin 和 CheckMargin 属性。
foreach (ToolStripDropDownButton tsd in toolStrip1.Items)
{
((ToolStripDropDownMenu)tsd.DropDown).ShowImageMargin = false;
((ToolStripDropDownMenu)tsd.DropDown).ShowCheckMargin = false;
}
抛出一个异常说明如下:
System.InvalidCastException: Unable to cast object of type 'System.Windows.Forms.ToolStripButton' to type 'System.Windows.Forms.ToolStripDropDownButton'.
ToolStrip 包含除 ToolStripDropDownButtons 之外的控件(即 ToolStripButtons 和 ToolStripLabels),因此我可以看到错误发生的位置。我想不通的是如何仅修改 ToolStripDropDownButtons。与标准的 ContextMenu 不同,ToolStripDropDownMenu 默认不包含 CheckMargin 或 ImageMargin 属性。
最佳答案
foreach
语句不执行任何过滤,因此当您将项目类型声明为 ToolStripDropDownButton
时,它会尝试转换该类型的序列。由于某些项目无法做到这一点,因此您需要声明一个不太具体的类型并检查您想要的实例:
foreach (ToolStripItem tsi in toolStrip1.Items)
{
if (tsi is ToolStripDropDownButton) {
ToolStripDropDownButton tsd = (ToolStripDropDownButton)tsi;
((ToolStripDropDownMenu)tsd.DropDown).ShowImageMargin = false;
((ToolStripDropDownMenu)tsd.DropDown).ShowCheckMargin = false;
}
}
关于c# - 在 ToolStripDropDownMenu 中隐藏 ImageMargin 和 CheckMargin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4588934/
我试图在某个 ToolStrip 内的每个 ToolSTripDropDownMenu 中设置 ImageMargin 和 CheckMargin 属性。 foreach (ToolStripDrop
我是一名优秀的程序员,十分优秀!