我使用下面的代码在我的表格上的usercontol中启用/禁用按钮控制,这非常有效。
var btnAdd = this.userControlCommonTask1.Controls.Find("btnAdd", true);
btnAdd[0].Enabled = true;
但是当我使用toostrip(toolstrip1)按钮(btnAdd,btnEdit,btndelete etch ..)并使用上面的代码时
我得到了:
Index was outside the bounds of the array.
我试过这个,但它只适用于工具栏。
var btnAdd = this.userControlCommonTask1.Controls.Find("toolstrip1", true);
btnAdd[0].Enabled = true;
表示感谢
答案 0 :(得分:3)
我已经解决了我的问题:
var toolstrip1 = this.userControlCommonTask1.Controls.Find("toolstrip1", true);
var toolstrip1Items = toolstrip1[0] as ToolStrip; <-- set to toolstrip control
var btnRead = toolstrip1Items.Items.Find("btnRead", true); <--get BtnRead on toolstrip Item.Find
btnRead[0].Enabled = false; <--disable/Enable btn
这可以作为其他开发人员的参考。
干杯!
答案 1 :(得分:0)
尝试使用0而不是1,您的数组基于零
答案 2 :(得分:0)
Toolstrip是另一个用户控件。尝试引用它,然后找到它的子控件
即。 ctlTooolStrip.Controls.Find( “BtnAdd”,TRUE);
还可以尝试toolStrip.Items