2012-02-01 5 views
3

VB.Net을 사용하고 있습니다. 13 개의 버튼 목록이 있습니다. 이 버튼의 이름은 3 개의 다른 변수의 조합을 통해 구성됩니다.동적으로 버튼 만들기

모든 버튼을 비활성화해야합니다. 각 버튼을 반복하여 사용하지 않도록하고 싶지 않습니다. 루프에서이 버튼을 동적으로 호출 한 다음 비활성화하려고합니다. 이 같은;

For Count = 1 To 13 
    PeriodRoomID = ("R" & ds.Tables("sqlSpecRoomRequest").Rows(i).Item(3) & Count) 
    PeriodRoomID.Enabled = False 
    PeriodRoomID.Backcolor = Color.Gray 
Next 

일단 변수 PeriodRoomID를 만들면 버튼으로 처리 할 수 ​​없습니다.

  • 같은 이름의 버튼이 두 개 있다는 것을 의미합니다.
  • PeriodRoomID는 문자열이므로 의미가 없기 때문에 사용할 수 없습니다.

어떻게이 문제를 해결할 수 있습니까?

+0

"[VB.Net]"을 제목에 넣지 마십시오. 그것이 바로 태그가있는 것입니다. –

답변

3

Controls.Find 메서드를 사용해 볼 수 있습니다.

dim cntrl() as Control 
For Count = 1 To 13 
    PeriodRoomID = ("R" & ds.Tables("sqlSpecRoomRequest").Rows(i).Item(3) & Count) 
    cntrl = Me.Controls.Find(PeriodRoomID,True) 
    cntrl(0).Enabled = False 
    cntrl(0).Backcolor = Color.Gray 
Next 
+0

나는 당신을 사랑한다! 매력처럼 작동합니다. –