Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Обращение к елементам формы


Автор: chilichacha 27.9.2008, 15:49
Привет, помогите , пожалуйста, начинающему !
Как правильно обратиться к елементу формы в цикле?

на странице  - одна форма  form1 ,
в ней несколько, ну к примеру 10, текстовых полей
имена - Fld1, Fld2  etc
во время каждой итеррации должно происходить сравнение  содержания текстового поля со строкой ну скажем "test"

Более опытные  граждане, напишите ,плиз, пример.....синтаксиса не знаю пока.....  smile 


Автор: gogzor 27.9.2008, 16:49
Вот так можно :
Код

string myString = "test";

//Получаешь коллекцию контролов на форме
ControlCollection collection = this.Controls as ControlCollection;

//Пробегаешся по ним
foreach (Control c in collection)
{
     //Свойство Name это то имя которое ты дал. Чтобы выделить только текстовые поля , нужно проверять их имена (в твоём случае это название начинающиеся с Fld).
     if(Regex.IsMatch(c.Name, @"Fld\d+", RegexOptions.IngoreCase))
     {
           //Ну а теперь собственно сравниваешь нужный текст.
           if (c.Text == myString)
                MessageBox.Show("Совпало!");
     }
}

Автор: chilichacha 27.9.2008, 18:43
спасибо  что ответили,...но  ругается вот такими словами 
CS0117: 'System.Text.RegularExpressions.RegexOptions' does not contain a definition for 'Ignore' ((

Автор: gogzor 27.9.2008, 20:06
Впиши туда : RegexOptions.IgnoreCase
Я допустил синтаксическую ошибку.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)