在我的onClick事件处理程序中,我正在做类似的事情:
private void myToolStripItem_Click(object sender, EventArgs e)
{
Form form = (Form)(((taskBarToolStripMenuItem)sender).formReference);
if (form != this.ActiveMdiChild)
{
if (!form.Visible)
form.Show();
form.Activate();
((taskBarToolStripMenuItem)sender).isSelected = true; //set it to true, so the renderer will draw them differently
}
}
taskBarToolStripMenuItem是ToolStripMenuItem的子类。当我到达我的自定义ToolStripSystemRenderer时,我确定将其“isSelected”属性更改为true的项保持为false。这种情况发生在其他属性上,我试过Tag,Text等等......为什么?感谢
答案 0 :(得分:0)
您要做的是将sender
转换为ToolStripMenuItem
的实例。
尝试转换为类型而不是这样。
((ToolStripMenuItem)sender).Selected = true;
如果您打算在多个地方使用它,可以将其设置为临时变量,以避免每次都取消装箱。
private void myToolStripItem_Click(object sender, EventArgs e)
{
var item = (ToolStripMenuItem)sender; // temp variable
Form form = (Form)(item.formReference);
if (form != this.ActiveMdiChild)
{
if (!form.Visible)
form.Show();
form.Activate();
item.Selected = true; //set it to true, so the renderer will draw them differently
}
}