Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Доступ к данным тестбокса


Автор: ne_ass 19.9.2007, 10:32
при нажатии на кнопку программно создаю текстбокс( а может создаваться и не один )
смысл в том - как обратьться потом к текстбоксу , например по клике на кнопку, и считать то что в нем записано.
В принципе при создании можно задаваь имя текстбоксу, но серавно, как считать значения из поля???

 smile 

Автор: Retro 19.9.2007, 10:39
Цитата(ne_ass @  19.9.2007,  09:32 Найти цитируемый пост)
при нажатии на кнопку программно создаю текстбокс( а может создаваться и не один )
смысл в том - как обратьться потом к текстбоксу , например по клике на кнопку, и считать то что в нем записано.
В принципе при создании можно задаваь имя текстбоксу, но серавно, как считать значения из поля???

Какая разница как, что создано(программно или нет)? Обращаешься к созданному объекту по имени, как обычно.

Автор: ne_ass 19.9.2007, 10:53
первым кликом я создаю текстбокс
второй кнопкой я хочу записать значение в текстбоксе в переменную

понять ни как не могу как мона обратиться к свойству текст текбокса
 smile 

Автор: Retro 19.9.2007, 11:06
Цитата(ne_ass @  19.9.2007,  09:53 Найти цитируемый пост)
понять ни как не могу как мона обратиться к свойству текст текбокса

Я что-то не понял, ты создаешь текстбокс, а как ты записываешь туда данные? Если смог записать данные значит можешь и извлечь. Если ты создаешь текстбокс с именем то обращаешься к нему как обычно.
Имя-Текст.

Автор: ne_ass 19.9.2007, 11:16
по клику по кнопка1 я создаю программно текстбокс с каким то именем

ввожу в текстбокс ручками какие то значения

по клику на кнопка2 хочу записать значение в переменную из текстбокса чтобы передать дальше

но проблема при клике на кнопка2 не знаю как обратиться к текстбоксу ведь он создался динамически и поетому как заранее прописать кнопке2 чтобы она обратилась к етому текстбоксу не пойму

доходчиво или где нить уточнить??


Автор: Tror 19.9.2007, 11:43
код в студию, плиз

Автор: ne_ass 19.9.2007, 11:51
visual c++ 2005
Код

void InitializeElementText(String^ name, int x, int y)
        {    
            TextBox^ textBox1 = gcnew TextBox;   
            textBox1->Location =  Point(x,y);

            textBox1->Name = name;
            
            Controls->Add(textBox1);
        }

а  как получить значение из текстбокса??

Автор: Retro 19.9.2007, 11:51
Цитата(Tror @  19.9.2007,  10:43 Найти цитируемый пост)
код в студию, плиз 

угу.

Автор: Retro 19.9.2007, 12:47
ne_ass, ты когда вызываешь функцию InitializeElementText передаешь туда три параметра, имя текстбокса и координаты, в чем проблема? Имя я так понимаю генерируется динамически, можно сделать массив имен и обращаться к ним как угодно.

Автор: ne_ass 19.9.2007, 12:59
а есть где кода посмореть, просто на словах я тоже все легко расписал, а потом взялся , а тут не так тут не эдак

если можно приведите кусочек кода как поступить в такой ситуции или киньте ссылочку где ету проблему почитать мона

спасибо кто откликнулся

Автор: ne_ass 19.9.2007, 13:58
я сделал массив (mas) имен созданных текстбоксов(2штука)

как мне терь прикрутить к кнопке пусть метод, чтобы в другой массив запихивать данные из текстбокса

надо что то типа:  param[i]=mas[i]->Text;


Автор: Bst 19.9.2007, 14:13
Как один из вариантов:
1) создаешь в классе статическую переменую int допустим (назовем index), в ней будет хранится индекс (номер добавляемого текстбокса)...
2) далее при создании текстбока можно таким образом задать его имя 
newTextBox.Name = "txb_" + index.ToString(); 
3) далее можно огбратиться к нему таким образом:
имена текстбоксов можешь получить по "txb_" + номер из диапозона 0-index 
когда создали контрол, наверняка он у тебя где то лежит, допустим панелька и собственно
this.SomePanel.Controls["Имя текстбокса"] , приводишь это к типу textBox и все.. можешь пользоваться

[c#]

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