2012-03-14 2 views
1

완벽하게 작동하는 내 양식에서 내 usercontol 내에서 Button Control을 활성화/비활성화하는 아래 코드를 사용했습니다. 내가 버튼 (btnAdd, btnEdit, btndelete 에칭 ..)와 toostrip (toolstrip1)를 사용하고UserControl에서 toolstrip에서 toolstripButton을 찾는 방법

enter image description here

위에 내 코드를 사용할 때

var btnAdd = this.userControlCommonTask1.Controls.Find("btnAdd", true); 
btnAdd[0].Enabled = true; 

는하지만 가지고 :

Index was outside the bounds of the array. 

이 도구를 사용해 보았지만 툴팁에서만 작동합니다. 감사합니다

+0

내 의견은 트랙에서 조금 벗어나지 만 툴팁에 항목을 추가 한 후에 사용자 정의 컨트롤 내에서 도구 막대를 사용한다고 가정하면 전체 사용자 정의 컨트롤을 복사하여 다른 곳에 붙여 넣을 수 있습니다. 그것은 도구 상자의 항목을 보존합니까? 그렇다면 어떻게 그것을 성취합니까? 문안 인사! – priyamtheone

답변

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 

이 될 수있는 다른 개발자를위한 참조.

건배!

0

에서

 var btnAdd = this.userControlCommonTask1.Controls.Find("toolstrip1", true); 
     btnAdd[0].Enabled = true; 

덕분에 0 대신 1 배열이 제로 기반

+0

이미 변경되었지만 작동하지 않습니다. – BizApps

+0

은 btnAdd.Count == 0입니까? –

+0

예 ... 0 ... btnAdd는 툴 스트립의 Toostrip 버튼 아이템입니다. – BizApps

0

ToolStrip의 다른 UserControl을이다보십시오. 그것에 대한 참조를 만든 다음 자식 컨트롤을 찾으십시오.

예. ctlTooolStrip.Controls.Find ("BtnAdd", true);

또한 이미 내 문제를 해결 toolStrip.Items

+0

toolstrip.items의 문제를 해결 한 것을 볼 수 있습니다. 내가 이것을 올린지 오래. !!! –

관련 문제