|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.05.2012, 17:57 | #1 |
Пользователь
Регистрация: 27.05.2010
Сообщений: 24
|
Работа с календарем С#
При нажатии на textBox должен выскакивать календарь,оттуда выбираем дату и она становиться в textBox,календарь пропадает.
С этим компонентом никогда не работала.Буду очень благодарна кто отзовется |
12.05.2012, 21:51 | #2 |
Пользователь
Регистрация: 11.05.2012
Сообщений: 85
|
Здравствуйте, Лапочка!
Лучше всего 1 раз сделать самому (самой), и тогда Вы сразу почувствуете, как стали на порядок уверенней себя чувствовать в C#. А принцип я предлагаю такой: создать Control, состоящий из двух элементов, занимающих ровно одно и то же место: календаря и текстбокса. В "спокойном" состоянии (read only) пользователь видит текстбокс, а календарь невидим. В состоянии "редактирование" - наоборот. Как переключать эти состояния, зависит от Вашего приложения. При переключении содержимое передаётся от одного элемента другому с конвертацией типа данных. Можно к этому пользовательскому элементу добавить третий входящий элемент - Label для надписи ("Дата документа", например). Программировать в таком стиле всё равно придётся, так что, стоит потрудиться - труд не пропадёт. Маленькая подсказка: в качестве исходного контрола, контейнера для размещения всех трёх элементов можно использовать такой элемент - TableLayoutPanel. Создайте UserControl, затем замените родительский тип в объявлении класса " : UserControl" на " : TableLayoutPanel", добавьте в этот элемент Label, TextBox и DateTimePicker и инкапсулируйте как можно больше их свойств и обработчиков событий внутри TableLayoutPanel. Например, можно добавить свойство Boolean is_changed = false : было ли сделано изменение. Если Вы пользуетесь Visual Studio, этот новый элемент попадёт в ToolBox наряду со всеми прочими стандартными элементами управления. Успеха! Последний раз редактировалось Гаврилов; 12.05.2012 в 21:53. |
12.05.2012, 23:36 | #3 |
Пользователь
Регистрация: 27.05.2010
Сообщений: 24
|
Благодарю за подсказку!
Я нашла другой выход из этой ситуации, через компонент dateTimePicker. |
13.05.2012, 05:45 | #4 |
Пользователь
Регистрация: 11.05.2012
Сообщений: 85
|
Если не трудно: что это за "компонент", из Delphi?
|
13.05.2012, 11:50 | #5 |
Форумчанин
Регистрация: 17.12.2008
Сообщений: 250
|
Он есть стандартный... в 3.5 походу добавили
|
13.05.2012, 12:02 | #6 |
Пользователь
Регистрация: 11.05.2012
Сообщений: 85
|
Никогда не был сторонником такого стиля "программирования", который принят "дельфистами": прежде всего искать чужие компоненты. У "сишников" это почему-то не принято. Всегда компонент оказывается не совсем таким, как нужно. Совсем таким его можно сделать только самостоятельно - для этого и развивались средства разработки на C# в сторону создания пользовательских и специальных элементов управления (User Control и Custom Control).
|
13.05.2012, 12:12 | #7 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
скучно? времени много? Цитата:
нет ничего плохого в повторении использования кода. проблема это когда на любое действие ищется готовый компонент. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|||
13.05.2012, 13:59 | #8 |
Пользователь
Регистрация: 27.05.2010
Сообщений: 24
|
Этот компонент я нашла в 10-й студии.
|
13.05.2012, 14:51 | #9 |
Пользователь
Регистрация: 11.05.2012
Сообщений: 85
|
Странно в ветви, посвящённой C#, увидеть дифирамбы по поводу стиля, присущего поклонникам Delphi.
Давайте лучше не будем спорить о вкусах. Как говорят, о них не спорят. В конце концов, привязанность программиста к тому или иному средству разработки и языку - это его стиль жизни. Более старые программисты (по возрасту) обычно привержены С и его последующим ветвям, потому что при них он появился и сразу перекрыл своими возможностями все другие языки (за исключением DEC-овского фортрана, входящего в комплект VAX\VMS, в котором уже было всё то, что потом появилось в C). Delphi, построенном вокруг паскаля, тогда ещё не было, а были в основном старый добрый фортран и старый добрый алгол, на основе которого и создали в учебных целях паскаль, уже потом бегом догнавший C с классами. А начавшие программировать в 1990-х годах больше привержены Delphi, о котором, например, в Америке, даже мало кто слышал. Я прекрасно помню, как его несколько лет назойливо пиарили и буквально втюривали в странах СНГ - на новом рынке - в начале 90-х и никто не хотел на него подсаживаться, но всё-таки многих начинающих подсадили (на выставках и конференциях дистрибутивы просто дарили, да и так коробка недорого стоила в начале - в условиях дефицита трудно было удержаться). А что касается того предположения, что я и стандартные контролы "сам себе строю", то нет, я ими вообще не пользуюсь в чистом виде (только в простейших программах), мне недостаточно их функциональности. Я сделал себе библиотечку и пользуюсь ею, лишь время от времени дополняя новыми возможностями. И не я один так делаю, а очень многие программеры, которым надо работать быстро, а не тратить время на поиски в сетях подходящих компонентов, свидетелями чего на примере Лапочки мы только что были. |
13.05.2012, 17:21 | #10 | |||
Форумчанин
Регистрация: 17.12.2008
Сообщений: 250
|
Цитата:
И никто здесь дифирамбы Delphi не пел... мне вообще не понятно к чему Вы его приплели, и начнем с того, посмотрите кто создал с# ( Цитата:
Цитата:
|
|||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TDBEdit связывание его с таблицей и календарем | Elka89 | Помощь студентам | 13 | 31.03.2013 22:28 |
ВПР с календарем не дружит. | staniiislav | Microsoft Office Excel | 18 | 30.12.2010 09:13 |
БД связать с календарем | igor1306 | Помощь студентам | 9 | 06.02.2010 15:51 |
Выбор дат одним календарем на форме | ruavia3 | Microsoft Office Excel | 6 | 20.06.2009 16:22 |
при введении любого номера года нашей эры, программа выводит его название за старым японским календарем | mobi_vic | Общие вопросы C/C++ | 1 | 06.06.2007 12:33 |