Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: C# и динамические объекты.
Форумы портала PHP.SU » » Вопросы по Perl/Python/.NET » C# и динамические объекты.

Страниц (2): [1] 2 »
 

1. sweb - 29 Октября, 2011 - 12:06:35 - перейти к сообщению
Всем привет!
Вообщем проблема такого рода:
Динамически создается TextBox и Button, как при событии Button.Click получить значение TextBox.Text?
2. Самогонщик - 29 Октября, 2011 - 12:21:04 - перейти к сообщению
sweb пишет:
Всем привет!
Вообщем проблема такого рода:
Динамически создается TextBox и Button, как при событии Button.Click получить значение TextBox.Text?

Делаю смелое предположение что речь идёт о WinForm, и предлагаю просто сохранять где-нибудь указатель на TextBox и в обработчике получать введённый текст. Вообще бы надо код посмотреть.

З.Ы. А знаете ли вы, что подписываясь на событие динамически созданной кнопки, вы неявно храните ссылку на эту самую кнопку. Т.е. после того как кнопка становится ненужна, её недостаточно удалить с формы, нужно ещё её отписать, иначе она так и останется висеть в памяти. Такая вот утечка памяти.
3. sweb - 29 Октября, 2011 - 12:29:04 - перейти к сообщению
Вот код:

for(i=0...
//button
add_database[i] = new Button();
add_database[i].Text = "add";
add_database[i].Name = "add_" + i;
add_database[i].Click += new EventHandler(add_database);
list[i].Controls.Add(add_database[i]);
//textbox
textbox[i] = new TextBox();
textbox[i].Location = new Point(90, 14);
textbox[i].Name = "file_name_" + i;
list[i].Controls.Add(textbox[i]);

Надо как то поймать этот textbox[i] в add_database(object sender, EventArgs e)
4. Самогонщик - 29 Октября, 2011 - 12:43:55 - перейти к сообщению
sweb пишет:
Вот код:

for(i=0...
//button
add_database[i] = new Button();
add_database[i].Text = "add";
add_database[i].Name = "add_" + i;
add_database[i].Click += new EventHandler(add_database);
list[i].Controls.Add(add_database[i]);
//textbox
textbox[i] = new TextBox();
textbox[i].Location = new Point(90, 14);
textbox[i].Name = "file_name_" + i;
list[i].Controls.Add(textbox[i]);

Надо как то поймать этот textbox[i] в add_database(object sender, EventArgs e)


Если решать в лоб, то нужно как сделать так чтобы можно было получить номер кнопки. Сама кнопка передаётся в объекте sender и у нее есть замечательное поле Tag, туда можно положить i, а потом достать.
З.Ы. Тут есть тег для кода, будет лучше смотреться.
5. JustUserR - 31 Октября, 2011 - 12:23:06 - перейти к сообщению
sweb пишет:
Как при событии Button.Click получить значение TextBox.Text?
В качестве основы для система получения событий для пользовательских интерфейсных элементов в среде .NET, осуществляется использование унифицированных функций делегатов, которые включают аргументы, ассоциированне с параметрами соответственного зафиксированного события, а также объекта, обесеечившего его инициацию в соответсвии со стеком функциональных объектов обработки
Таким образом для получения оригинального объекта, осуществившего запуск целевого события, достаточно использовани конструкции типа cast object as type
6. Самогонщик - 31 Октября, 2011 - 13:29:49 - перейти к сообщению
JustUserR пишет:
sweb пишет:
Как при событии Button.Click получить значение TextBox.Text?
В качестве основы для система получения событий для пользовательских интерфейсных элементов в среде .NET, осуществляется использование унифицированных функций делегатов, которые включают аргументы, ассоциированне с параметрами соответственного зафиксированного события, а также объекта, обесеечившего его инициацию в соответсвии со стеком функциональных объектов обработки
Таким образом для получения оригинального объекта, осуществившего запуск целевого события, достаточно использовани конструкции типа cast object as type

Мой мозг сломан, но я всё же спрошу: как нам поможет знание объекта кнопки в получении значения текстового поля?
7. JustUserR - 01 Ноября, 2011 - 17:39:56 - перейти к сообщению
Самогонщик пишет:
Мой мозг сломан, но я всё же спрошу: как нам поможет знание объекта кнопки в получении значения текстового поля?
Основной решения предполагаемой задаи указанным методом, является использование иерархической структуры, позволяющей осуществить получение сслыки на целевой объект на основании его релативного расположения в группе вложенных визуализационных объектов; кроме того в любом случае допустимо использование статического элемента класса, включающего protected override-методы для включения в стек событий для активного элемента управления
8. Самогонщик - 01 Ноября, 2011 - 17:50:46 - перейти к сообщению
JustUserR пишет:
Самогонщик пишет:
Мой мозг сломан, но я всё же спрошу: как нам поможет знание объекта кнопки в получении значения текстового поля?
Основной решения предполагаемой задаи указанным методом, является использование иерархической структуры, позволяющей осуществить получение сслыки на целевой объект на основании его релативного расположения в группе вложенных визуализационных объектов; кроме того в любом случае допустимо использование статического элемента класса, включающего protected override-методы для включения в стек событий для активного элемента управления
Вот так сразу и сказал бы.

Думаю использование свойства тег вполне достаточно. Можно туда положить любую метаинформацию (читай класс) на основе которой принимать решение о выполняемом действии.
9. JustUserR - 01 Ноября, 2011 - 18:48:14 - перейти к сообщению
Самогонщик пишет:
Вот так сразу и сказал бы.
Думаю использование свойства тег вполне достаточно. Можно туда положить любую метаинформацию (читай класс) на основе которой принимать решение о выполняемом действии.
В действительности технология .NET предоставляет множество методов решения предполагаемой задачи, при этом возможно осуществление ее решения без включения реальных программных элементов, отвечающих за введение соответственной ассоциации между объектами
В частности возможно использование параметров Binding и Datacontext, которые позволяют установить непосредственную связь между значением характеристического информационного поля одного объекта, и некоторым выбранным элементом
Некоторая информация по рассматриваемому вопросу расположена здесь http://habrahabr[dot]ru/blogs/net/41481/ , и в поисковой системе по соответственному запросу
10. Самогонщик - 01 Ноября, 2011 - 20:23:50 - перейти к сообщению
Ну вот, скаждым разом всё человечнее и человечнее получается. Надеюсь не только я понимаю написанное.

Исходя из строчки add_database[i].Click я могу смело предположить что это винФорм, соответственно, приведённая по ссылке статья ничем не поможет в решении данной проблемы.

Да и автор вопроса пропал.
11. EuGen - 01 Ноября, 2011 - 21:11:10 - перейти к сообщению
Самогонщик пишет:
Да и автор вопроса пропал.

- думаю, он не относится к тем, кто
Самогонщик пишет:
Надеюсь не только я понимаю написанное.

Не обращайте внимания, если Вы поняли с первого прочтения, значит, пост был тривиален.
12. JustUserR - 01 Ноября, 2011 - 21:38:54 - перейти к сообщению
Самогонщик пишет:
Исходя из строчки add_database[i].Click я могу смело предположить что это винФорм, соответственно, приведённая по ссылке статья ничем не поможет в решении данной проблемы.
В действительности на основании предполагаемой области программы для целевой платформы .NET, возможно осуществление ее классификации как графического настолького приложения, основанного на базовых классах System.Forms, тем не менее технология привязки информационных полей доступна и для приложений, отличных от Windows Presentation Foundation, поскольку данное свойство было внедрено в предшествующих технологиях элементов управления
Кроме того указанная статья в общей мере осуществляет демонстрацию технологии привязки информационных полей, в качестве примера для которой используется XAML-подобная разметка для определения объектов управления, однако это не означает исключение взаимной заменяемости
13. Самогонщик - 02 Ноября, 2011 - 15:51:05 - перейти к сообщению
JustUserR пишет:
Кроме того указанная статья в общей мере осуществляет демонстрацию технологии привязки информационных полей, в качестве примера для которой используется XAML-подобная разметка для определения объектов управления, однако это не означает исключение взаимной заменяемости
Но и не гарантирует наличие заменяемости.

JustUserR пишет:
поскольку данное свойство было внедрено в предшествующих технологиях элементов управления
Ни разу не отрицаю, но из приведённой статьи это не следуют.

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

EuGen, так он что, всегда так? А если с ним долго переписываться кто из нас сменит манеру письма?
14. EuGen - 02 Ноября, 2011 - 15:53:55 - перейти к сообщению
Самогонщик
и не пытайтесь. Скорее Вы смените. Это, правда, не по теме.
По теме - проще выразить это двумя строками.
15. JustUserR - 02 Ноября, 2011 - 18:28:07 - перейти к сообщению
Самогонщик пишет:
Учитывая эти два обстоятельства и уровень вопроса заданного автором, могу сказать что статья ему никак не поможет.
Использование указанной статьи для осуществления решения поставленной задачи в первичной формулировке, включающей в себя обеспечение включения автоматизированной зависимости между информационным полем в первичном уровне элементного трактования, а также целевого параметра визуализационного объекта, в действительности не позволяет достичь требуемого результата в явном виде, однако обеспечивает *указание* на группу технологий, которая позволяет осуществить решение поставленной задачи; в данной сентенции импликационная зависимость устанавливается исключительно на основании того факта, что указанная статья содержит указание на целевые технологии, использование которых является полезным для достижения оригинальной цели

 

Powered by ExBB FM 1.0 RC1