private void Form_Shown(object sender, EventArgs e)
{
// Load Settings
this.tsmiDuplexEnabled.Checked = Properties.Settings.Default.DuplexEnabled;
this.tsmiRemoveBlanks.Checked = Properties.Settings.Default.AutoDiscardBlanks;
this.tsmiColorMode.DropDownItems[Properties.Settings.Default.ColorMode].Checked = true;
}
最后一行不起作用,因为它找不到checked属性,尽管有许多可用属性。知道如何获得该物业吗?
答案 0 :(得分:3)
您需要将其转换为ToolStripMenuItem
以获取Checked
属性。请注意,分隔符不是ToolStripMenuItem
,因此您不能盲目地将每个DropDownItem
强制转换为ToolStripMenuItem
。
例如:
foreach (ToolStripItem tsi in item.DropDownItems)
{
if (tsi is ToolStripMenuItem)
((ToolStripMenuItem)tsi).Checked = true;
}
在你的情况下看起来你不会意外得到一个分隔符,所以这应该工作:
((ToolStripMenuItem)this.tsmiColorMode.DropDownItems[Properties.Settings.Default.ColorMode]).Checked = true;