Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка Windows Forms > textbox создает checkbox |
Автор: blackwitcher 15.6.2015, 10:49 |
всем привет, я не знаю как сделать, чтобы в textbox когда вводишь какой-то текст при нажатии Enter создавался checkbox, а введенное слово в textbox исчезало и появлялось в checkbox ![]() Всем спасобо |
Автор: infarch 16.6.2015, 13:29 |
Я бы сказал что вы не совсем правильно подошли к делу. Даже с точки зрения архитектуры, текстбокс служит для ввода текста, а не для создания контролов. Опять же, может оказаться что пользователю удобнее кликнуть по кнопке, а не давить ентер в тексбоксе. Поэтому я бы сделал так: радом с тексбоксом ставим кнопку "Создать". В ее обработчике выполняем нужные действия по созданию чекбокса и очищаем введенный текст. А в свойствах формы задаем пропертю AcceptButton, указав эту кнопку. Результат достигнут: энтер запускает хендлер кнопки, мышкой тоже можно тыцнуть. Все счастливы. |
Автор: blackwitcher 16.6.2015, 13:37 |
спасибо, сейчас сделаю ![]() |
Автор: blackwitcher 16.6.2015, 15:12 | ||
а как сделать n количество checkBox? ![]() |
Автор: blackwitcher 16.6.2015, 15:30 | ||
так не работает ![]() |
Автор: blackwitcher 16.6.2015, 16:20 | ||
Уже может быть ![]() ![]() ![]() |
Автор: blackwitcher 16.6.2015, 16:52 | ||
![]() |
Автор: blackwitcher 16.6.2015, 17:26 |
А как очищаем введенный текст в TextBox после нажатии button?![]() |
Автор: blackwitcher 16.6.2015, 17:44 | ||||
Сделал, ура ![]() ![]()
Если кому-то будет нужно ![]()
|
Автор: infarch 17.6.2015, 10:11 | ||
Рад за вас ) Вот только несколько уточнений есть. Стоит ли вычислять координаты каждого чекбокса? Оно конечно выглядит красиво, но что будет если один в середине будет удален? А как будет работать ресайз формы? Я бы использовал контейнер который умеет располагать контролы, например FlowLayoutPanel, ну или даже свой контейнер сделать. Второе: checkbox.Text = textBox3.Text; Вы знаете имя текстбокса и обращаетесь к нему напрямую. В таком слечае, зачем для очистки перебор?
Так вы вообще все текстбоксы на форме очистите. Не лучше ли просто по имени textBox3.Text = String.Empty Наконец, немного занудства ) Вы явно делаете нечто сложнее обычного HelloWorld. Не подумать ли о MVP? |
Автор: blackwitcher 17.6.2015, 11:55 | ||
![]() Хороший вопрос, ![]() ![]() |
Автор: infarch 17.6.2015, 15:48 |
Совет: почитать про MVP, попробовать задействовать, оценить плюсы и минусы... |
Автор: blackwitcher 17.6.2015, 16:04 |
Спасибо, infarch за совет, почитаем ![]() |