Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка Windows Forms > обращение к кнопкам! |
Автор: retto 17.3.2008, 16:49 | ||
При загрузке формы создаются кнопки (кол-во зависит от того сколько хочет пользователь):
После нужно сохранить координаты всех добавленных в цикле кнопок. Как это сделать? Видь на прямую нельзя обратится к созданой кнопке |
Автор: retto 17.3.2008, 17:04 | ||
_hunter, это обращение можно вызвать только при вызове какогото события, например при нажатии:
и при этом пользователь может перемещать кнопки по форме пока ему не надоест. И после этого ему надо сохранить координаты каждой кнопки!! ему что на каждую кнопку наводить чтоли? Решил эту "проблему" вот так: for (int i = 1; i < Controls.Count; i++) { richTextBox1.AppendText(Controls[i].Name.ToString() + " " + Controls[i].Location.X.ToString() + " " + Controls[i].Location.Y.ToString()+"\n"); } |
Автор: Rififi 17.3.2008, 21:15 | ||
только я один ничего не понял? ps.
мрак ![]() |
Автор: vponomarov 17.3.2008, 22:19 |
![]() ![]() Rififi, чувак все правильно делает! Везде же пишут, что хорошей практикой является инициализация переменных в момент их объявления. Вот человек так и поступает. ![]() хотя наверное не стоит стебаться над чужим кодом, это не этично... |
Автор: _hunter 18.3.2008, 12:21 | ||
так это не инициализация. это "потеря" указателя -- создаем объект и потом на него забиваем (и работаем с другим объектом)... |
Автор: vponomarov 18.3.2008, 12:47 | ||
я понимаю. это был сарказм ![]() |
Автор: retto 20.3.2008, 09:56 | ||||
ну и что здесь непонятного? Если так, то скажи как мне обратиться к созданой кнопке? Если есть другой нормальный способ, скажи какой. А bv.Dispose(); это чтобы пользователь мог убить кнопку (это такая программа))) |
Автор: vponomarov 20.3.2008, 10:46 | ||||
тут пытались сказать, что последовательность строк кода:
лишина смысла т.к. первая строка говорит о том, что нужно создать новую кнопку, а вторая тут же заменяет ее уже существующей (на которую кликнули) и в итоге указатель на новую теряется и ты с ней уже ничего не сделаешь:( короче, первую строчку нужно удалить ![]() |