C# 为什么控制。查找不';无法使用ToolStripMenuItem?
我使用以下方法通过控件名称访问控件属性:C# 为什么控制。查找不';无法使用ToolStripMenuItem?,c#,C#,我使用以下方法通过控件名称访问控件属性: var ctrl = frm.Controls.Find("textbox1", true).FirstOrDefault(); ctrl.Enabled = Convert.ToBoolean(ctrlperm.Value.ToString()); 它工作正常,但似乎无法与ToolStripMenuItem配合使用,因为当我尝试将其与ToolStripMenuItem配合使用时,会收到错误消息: 对象引用未设置为对象的实例 另一个问题是,当我使用这段
var ctrl = frm.Controls.Find("textbox1", true).FirstOrDefault();
ctrl.Enabled = Convert.ToBoolean(ctrlperm.Value.ToString());
它工作正常,但似乎无法与ToolStripMenuItem配合使用,因为当我尝试将其与ToolStripMenuItem配合使用时,会收到错误消息:
对象引用未设置为对象的实例
另一个问题是,当我使用这段代码时,我并不知道我正在处理的控件的类型,这意味着它可能是ToolStripMenuItem或任何其他控件,所以是否有一种统一的方法通过其名称访问任何控件?这是因为
ToolStripMenuItem
不是控件。可以使用您使用的方法找到从控件继承的每个元素。尝试查找ToolStripMenuItem
的父元素,它是一个控件
响应@Claudio p,如果menuItem没有所有者,因此它没有控制权,该怎么办?检查这个@Soner Gonul,我不能使用“as ToolStripMenuItem”因为我调用时不知道控件类型。这似乎更像是应该放在注释中而不是答案中的内容。我试图在他的答案中添加注释,但不允许。您是否面临此问题?