我有一个包含很多项目的MenuStrip,并且尝试让它们全部都订阅,因此我尝试做menuStrip1.Items.OfType<ToolStripMenuItem>();,对于每个项目我都这样做:

menuitem.Click += new EventHandler(MenuItem_Click);

问题是有一个ToolStripSeperatorItem继承了ToolStripMenuItem,并且由于没有Click事件,因此出现的是我的项目和错误列表。

如何在我的OfType方法中不包含这些内容?

最佳答案

menuStrip1.Items.OfType<ToolStripMenuItem>().Where(it => it.GetType() == typeof(ToolStripMenuItem));

似乎有点多余,但是通过同时执行这两种操作,您可以维护返回类型。

10-04 17:54