Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么控制。查找不';无法使用ToolStripMenuItem?_C# - Fatal编程技术网

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”因为我调用时不知道控件类型。这似乎更像是应该放在注释中而不是答案中的内容。我试图在他的答案中添加注释,但不允许。您是否面临此问题?