2014-12-03 2 views
0

ComboBoxes이 포함 된 usercontrol이 있습니다. Modifiers 속성을 Protected Internal으로 설정 했으므로 기본 양식의 코드에서 액세스 할 수 있습니다.C#에서 usercontrol의 자식 컨트롤을 이름으로 가져 오기

문자열로 이름을 지정하려고합니다. 나는 이것을 시도했다

ComboBox cmb = (ComboBox)ucMyUserControl.Controls.Find("cmb" + restOfTheName, false).FirstOrDefault(); 

answer이 제안했다. 그러나 null을 반환합니다.

어떻게 작동합니까?

+0

내 솔루션을 확인하고 도움이되었는지 알려주십시오. – mybirthname

답변

0
ComboBox cmb = (ComboBox)ucMyUserControl.Controls.Find("cmb" + restOfTheName, 
                true).FirstOrDefault(); 

ID이 맞으면이 컨트롤이 반환됩니다. ComboBox은 사용자 정의 컨트롤의 다른 컨트롤에 중첩 될 수 있습니다. 두 번째 매개 변수는 searchAllChilds 플래그이므로 UserControl의 모든 컨트롤을 검색하려면 매개 변수가 true이어야합니다.

+0

생각하지 못했던 쉬운 솔루션! 감사! –