| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Считать с текстбокса |
| Автор: dzjundzja88 2.3.2011, 17:07 | ||
Создаю динамически 10 текстбоксов
Как мне теперь считать со всех текстбоксов (допустим тоже в цикле)? Это я просто написал в цикле 10, а вообще я заранее не знаю сколько их будет. |
| Автор: dj100500 2.3.2011, 17:59 |
| ну загони их в List<TextBox> а потом в цикле пройди foreach (TextBox t in MyBoxes) { MessageBox.Show(t.Text); } |
| Автор: puZzo 2.3.2011, 20:12 |
| Я тоже с подобным работал, делал как предложил dj100500, но меня интересовало, да и интересует, а как обратиться к объекту, заведомо не зная его имени? В Delphi давненько делал каким-то макаром подставляя вместо имени string, содержащий имя объекта.. |
| Автор: Экскалупатор 2.3.2011, 21:03 | ||
puZzo, ты знаешь что происходит в этой строке?
для чего тебе имя? у тебя есть какие то объекты, и есть ссылки на эти объекты, вот по ним и обращайся, грубо говоря, эти текстбоксы надо добавить в какую то коллекцию и потом обращаться к ним через эту коллекцию. з.ы. только боюсь все твои тексбоксы после окончания цикла будут уничтожены, если ты все оставишь так как оно описано сейчас и не передашь ссылки на текстбоксы какой то переменной которая будет находится в другой области видимости(там где ее будут использовать). почитай про области видимости и про то что такое классы и как с ними работать. |
| Автор: puZzo 3.3.2011, 05:45 | ||||
| Экскалупатор, Создается экземпляр класса TextBox, а точнее ссылка на этот экземпляр, new выделяет память, а TextBox() конструктор того самого класса? как я делал в Delphi:
а это то, что мне интересно было в .NET и в принципе может быть реализовано в реальных приложениях, когда не нужно делать много контролов.
з.ы.: у меня в дипломе был один момент, когда нужно было к контролам обращаться именно таким способом. dzjundzja88, а тебе действительно нужно делать коллекцию |
| Автор: Экскалупатор 3.3.2011, 08:34 |
| puZzo, так в чем проблема? делай коллекцию текстбоксов, при создании текстбокса присваивай имена и ищи по коллекции(будет даже быстрее и проще чем искать в коллекции всех контролов). можно еще создать коллекцию имен если уж так надо. по сути Controls это и есть коллекция, можно добавлять прямо в нее, потом делать коллекцию имен и по этим именам искать. просто если сделать отдельную коллекцию по своим контролам то круг поиска существенно сузится. |
| Автор: puZzo 3.3.2011, 11:52 |
| да это то все понятно, просто вставал у меня когда-то такой вопрос, ну вот и решение нашлось) а коллекции то я давно использую для этих целей;-) |