Я использую VisualStudio 2008 в системе с использованием .NET Compact Framework 3.5 в VB.NET и имею форму, содержащую пару Компонентов, а именно Таймеры и Messageboxes. Часть моего приложения - это подразделение, которое выполняет итерацию через все элементы управления в форме и настраивает такие свойства, как Front или BackColor, чтобы мы могли перепроверить все приложение по требованию.Как выполнить итерацию через компоненты в форме Windows?
Хотя я итерации через эти элементы управления, я также хотел бы перебирать компоненты и устанавливать некоторые свойства Messageboxes в форме. Я попытался использовать для каждого для доступа к Me.components.Components, но эта коллекция кажется частной.
For Each comp As Object in Me.components
<do something>
Next comp
Есть ли способ для итерации компонентов?
EDIT:
Я был неправ, думая, что me.components.Component является частным. Использование Me.components.Components
я получаю следующее сообщение об ошибке:
'Components' is not a member of 'System.ComponentModel.IContainer".
Символ 'MessageBox' не является компонентом, ни управления. Это диалоговое окно создается только при вызове' MessageBox.Show() '. Скорее всего, вы не сможете найти его с помощью .NET-кода. Это скорее потребует выполнения функции Inv Invocation, например, функции «EnumWindows()» WinAPI. –
После небольшой обработки я обнаружил, что в Compact Framework компоненты фактически не связаны с они все еще можно найти в другом месте, см. эти два ответа: [** \ [1 \] **] (http://stackoverflow.com/a/14628749/3740093) [** \ [2 \ ] **] (http://stackoverflow.com/a/371829/3740093). –