2010-02-04 3 views
1

나는 몇 가지 표준 컨트롤 (텍스트 상자, 버튼 등)이 포함 된 양식이 있습니다. 컬렉션의 특정 컨트롤을 그룹화하여 각 컨트롤을 명시 적으로 설정하지 않고도 언제든지 설정하거나 해제 할 수 있습니다. 그렇게하기위한 구문은 무엇입니까? 여기에 내가하고 싶은 것을 보여 일부 의사 코드 ....C# .NET에서 컨트롤 배열을 만들려면 어떻게해야합니까?

Control[] ControlCollection = new Control[]; 
ControlCollection.add(Button1); 
ControlCollection.add(TextBox1); 
... 
... 
foreach(Control x in ControlCollection) 
{ 
    x.Enabled = false; 
} 

내가이 그룹 상자 말의 컨트롤을 넣고이 작업을 수행 할 수 있습니다 알고 있지만 컨트롤이 같은에서 양식에 배치되지는 그렇게하는 것이 편리한 방법. 귀하의 예를 잘해야한다

+0

같은 것을 할 수 가정? 내가 생각할 수있는 라인을 따라 가면된다. –

+0

제안한 것이 작동하지 않습니까? – hunter

+0

이 Windows 양식 또는 webforms (asp.net)? –

답변

4

List<Control> 

+0

예제가 정확하게 입력되지 않았지만 목록을 사용하면 효과가 있습니다. – PICyourBrain

0

당신이 레이아웃 매니저를 사용하여 생각 해 봤나 작동합니까? (위치 지정이 끝나는 한) 컨트롤 목록을 유지하면 (컨트롤의 위치를 ​​지정하지 않고도) 컨트롤의 위치가 자동으로 지정되지 않으므로 레이아웃 관리자가 도움이 될 수 있습니다.

0

컨트롤의 태그 속성을 아직 사용하지 않은 경우 태그에 controlid 형식을 입력하고 컨트롤 컬렉션을 열거하여 원하는 특정 ID를 찾고 열거/사용하지 않도록 설정할 수 있습니다.

0

당신이 웹 양식을 사용하고 .NET 3.5 당신이 실제로 당신의 의사 코드 비슷한 구현을 시도 해 봤나 당신이

var cntrls = new List<WebControl>() 
     { 
      {new TextBox(){ID = "Textbox1"}}, 
      {new Button(){ID="Button1", Text = "Click me!"}} 
     }; 

cntrls.ForEach(x => x.Enabled = false); 
관련 문제