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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: C# и динамические объекты.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: C# и динамические объекты.
sweb
Отправлено: 29 Октября, 2011 - 12:06:35
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




Всем привет!
Вообщем проблема такого рода:
Динамически создается TextBox и Button, как при событии Button.Click получить значение TextBox.Text?
 
 Top
Самогонщик
Отправлено: 29 Октября, 2011 - 12:21:04
Post Id



Посетитель


Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011  


Помог: 8 раз(а)




sweb пишет:
Всем привет!
Вообщем проблема такого рода:
Динамически создается TextBox и Button, как при событии Button.Click получить значение TextBox.Text?

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

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


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




Вот код:

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)
 
 Top
Самогонщик
Отправлено: 29 Октября, 2011 - 12:43:55
Post Id



Посетитель


Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011  


Помог: 8 раз(а)




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, а потом достать.
З.Ы. Тут есть тег для кода, будет лучше смотреться.
 
 Top
JustUserR Модератор
Отправлено: 31 Октября, 2011 - 12:23:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




sweb пишет:
Как при событии Button.Click получить значение TextBox.Text?
В качестве основы для система получения событий для пользовательских интерфейсных элементов в среде .NET, осуществляется использование унифицированных функций делегатов, которые включают аргументы, ассоциированне с параметрами соответственного зафиксированного события, а также объекта, обесеечившего его инициацию в соответсвии со стеком функциональных объектов обработки
Таким образом для получения оригинального объекта, осуществившего запуск целевого события, достаточно использовани конструкции типа cast object as type


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Самогонщик
Отправлено: 31 Октября, 2011 - 13:29:49
Post Id



Посетитель


Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011  


Помог: 8 раз(а)




JustUserR пишет:
sweb пишет:
Как при событии Button.Click получить значение TextBox.Text?
В качестве основы для система получения событий для пользовательских интерфейсных элементов в среде .NET, осуществляется использование унифицированных функций делегатов, которые включают аргументы, ассоциированне с параметрами соответственного зафиксированного события, а также объекта, обесеечившего его инициацию в соответсвии со стеком функциональных объектов обработки
Таким образом для получения оригинального объекта, осуществившего запуск целевого события, достаточно использовани конструкции типа cast object as type

Мой мозг сломан, но я всё же спрошу: как нам поможет знание объекта кнопки в получении значения текстового поля?
 
 Top
JustUserR Модератор
Отправлено: 01 Ноября, 2011 - 17:39:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Самогонщик пишет:
Мой мозг сломан, но я всё же спрошу: как нам поможет знание объекта кнопки в получении значения текстового поля?
Основной решения предполагаемой задаи указанным методом, является использование иерархической структуры, позволяющей осуществить получение сслыки на целевой объект на основании его релативного расположения в группе вложенных визуализационных объектов; кроме того в любом случае допустимо использование статического элемента класса, включающего protected override-методы для включения в стек событий для активного элемента управления


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Самогонщик
Отправлено: 01 Ноября, 2011 - 17:50:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011  


Помог: 8 раз(а)




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

Думаю использование свойства тег вполне достаточно. Можно туда положить любую метаинформацию (читай класс) на основе которой принимать решение о выполняемом действии.
 
 Top
JustUserR Модератор
Отправлено: 01 Ноября, 2011 - 18:48:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




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


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Самогонщик
Отправлено: 01 Ноября, 2011 - 20:23:50
Post Id



Посетитель


Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011  


Помог: 8 раз(а)




Ну вот, скаждым разом всё человечнее и человечнее получается. Надеюсь не только я понимаю написанное.

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

Да и автор вопроса пропал.

(Отредактировано автором: 01 Ноября, 2011 - 20:24:40)

 
 Top
EuGen Администратор
Отправлено: 01 Ноября, 2011 - 21:11:10
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Самогонщик пишет:
Да и автор вопроса пропал.

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

Не обращайте внимания, если Вы поняли с первого прочтения, значит, пост был тривиален.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
JustUserR Модератор
Отправлено: 01 Ноября, 2011 - 21:38:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




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


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Самогонщик
Отправлено: 02 Ноября, 2011 - 15:51:05
Post Id



Посетитель


Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011  


Помог: 8 раз(а)




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

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

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

EuGen, так он что, всегда так? А если с ним долго переписываться кто из нас сменит манеру письма?
 
 Top
EuGen Администратор
Отправлено: 02 Ноября, 2011 - 15:53:55
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Самогонщик
и не пытайтесь. Скорее Вы смените. Это, правда, не по теме.
По теме - проще выразить это двумя строками.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
JustUserR Модератор
Отправлено: 02 Ноября, 2011 - 18:28:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Самогонщик пишет:
Учитывая эти два обстоятельства и уровень вопроса заданного автором, могу сказать что статья ему никак не поможет.
Использование указанной статьи для осуществления решения поставленной задачи в первичной формулировке, включающей в себя обеспечение включения автоматизированной зависимости между информационным полем в первичном уровне элементного трактования, а также целевого параметра визуализационного объекта, в действительности не позволяет достичь требуемого результата в явном виде, однако обеспечивает *указание* на группу технологий, которая позволяет осуществить решение поставленной задачи; в данной сентенции импликационная зависимость устанавливается исключительно на основании того факта, что указанная статья содержит указание на целевые технологии, использование которых является полезным для достижения оригинальной цели


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы по Perl/Python/.NET »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB