我使用以下方法通过控件名称访问控件属性:
var ctrl = frm.Controls.Find("textbox1", true).FirstOrDefault();
ctrl.Enabled = Convert.ToBoolean(ctrlperm.Value.ToString());
并且工作正常,但它似乎与ToolStripMenuItem一起使用,因为当我尝试将它与ToolStripMenuItem一起使用时,我收到错误消息:
对象引用未设置为对象的实例
另一个问题是,当我使用此代码时,我真的不知道我正在处理的控件的类型,这意味着它可能是ToolStripMenuItem或任何其他控件,那么是否有通过其名称访问任何控件的统一方式?
答案 0 :(得分:2)
这是因为ToolStripMenuItem
不是Control
。可以使用您使用的方法找到继承自Control
的每个元素。尝试找到ToolStripMenuItem
的父元素,即Control
。
答案 1 :(得分:0)
响应@Claudio P,如果menuItem没有所有者,那么它就无法控制。