VB.NET에서 .NET Compact Framework 3.5를 사용하는 시스템에서 VisualStudio 2008을 사용하고 있으며 두 개의 구성 요소 즉 Timers 및 Messagebox가 포함 된 양식이 있습니다. 내 응용 프로그램의 일부는 폼의 모든 컨트롤을 반복하고 Front 또는 BackColor와 같은 속성을 조정하여 필요할 때 전체 응용 프로그램을 다시 만들 수있는 하위 프로그램입니다.Windows Form의 구성 요소를 반복하는 방법은 무엇입니까?
이러한 컨트롤을 반복하면서 구성 요소를 반복하고 양식의 Messageboxes 일부 속성을 설정하고 싶습니다. 나는 For Each를 사용하여 Me.components.Components에 액세스하려고 시도했지만 컬렉션은 비공개로 나타납니다.
For Each comp As Object in Me.components
<do something>
Next comp
구성 요소를 반복 할 수있는 방법이 있습니까?
편집 :
내가 me.components.Component이 비공개 잘못된 생각이었다. Me.components.Components
를 사용하여 나는 다음과 같은 오류가 발생합니다 :
'Components' is not a member of 'System.ComponentModel.IContainer".
로 인'MessageBox'이 구성 요소도 제어하지 않습니다. 그것은 당신이 호출 할 경우에만 생성 대화 상자입니다'MessageBox.Show()'. .NET 코드를 사용하여 찾을 수 없을 가능성이 높습니다. 예를 들어 WinAPI의 EnumWindows() 함수에서 플랫폼 호출을 수행해야합니다. –
작은 파고를 한 후에 Compact Framework에서 구성 요소가 실제로 관련되지 않음을 알았습니다. 양식 자체. 그들은 여전히 다른 곳에서 찾을 수 있습니다.이 두 답변을 참조하십시오 : [** \ [1 \] **] (http://stackoverflow.com/a/14628749/3740093) [** \ [2 \ ] **] (http://stackoverflow.com/a/371829/3740093) –