Как мне обратиться к элементу управления формы Windows по имени (C # / VB)

Предположим, у меня есть элемент управления меткой в форме окна с именем & quot; Имя пользователя & quot ;. Как я могу ссылаться на этот ярлык программно, используя имя ярлыка?

Например я могу сделать:

For each ctrl as Control in TabPage.Controls
If ctrl.Name = "UserName" Then
' Do something
End If
Next

Это кажется совершенно неэффективным. Я хотел бы сделать что-то вроде:

TabPage.Controls("UserName").Text = "Something"

Я немного погуглил, но не смог найти удовлетворительного ответа. В большинстве предложенных циклов некоторые утверждают, что .NET 2005 не поддерживает прямое восстановление с использованием строкового имени, а метод FindControl был только asp.net ...

EDIT

Спасибо за ответ до сих пор. Здесь немного подробнее.

У меня есть форма окна с тремя вкладками, каждая из которых очень похожа по дизайну и функциям, то есть те же выпадающие меню, метки, одинаково реагируют на события и т. Д.

Вместо того чтобы писать код для каждого события для каждой вкладки, я создал класс, который управляет событиями и т. Д. Для каждой вкладки.

Например, на каждой вкладке есть ярлык с именем & quot; RecordCounter & quot; это просто показывает количество строк в сетке данных, когда он заполняется выбором переменной в раскрывающемся меню.

Поэтому я хочу, чтобы при выборе переменной в раскрывающемся меню представление данных заполнялось данными, а затем я просто хочу отобразить количество строк в метке (& quot; RecordCounter & quot;).

Это абсолютно одинаковый процесс на каждой вкладке, поэтому я передаю вкладку классу, а затем хочу обратиться к & quot; RecordCounter & quot; а затем обновить его.

В моем классе я установил свойство ActivePage равным TabPage, которое выбрал пользователь, а затем хочу иметь возможность делать что-то вроде:

ActivePage.RecordCounter.Text = GetNumberOfRows()

Ответы на вопрос(6)

Ваш ответ на вопрос