| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Календарь |
| Автор: DenWPF 17.11.2009, 22:46 |
| Нужно вывести календарь, как это сделать? есть готовые классы? или решения?? или надо самому? если самому то помогите с форматированием. |
| Автор: KuMa1104 17.11.2009, 23:07 |
| DenWPF а стандартный MonthCalendar не подходит? |
| Автор: DenWPF 17.11.2009, 23:12 |
| ээээ не понимаю как он работает. это Формс? |
| Автор: KuMa1104 17.11.2009, 23:15 |
| DenWPF на форму перетащи из tool box элемент MonthCalendar и вуаля!!! |
| Автор: DenWPF 17.11.2009, 23:26 | ||||
| Все бы не чего но в место него у меня тупо белый лист и работает контекстное меню. и не хочу так, вообщем по порядку. вывожу с верху string.Format("{0:m} {0:yyyy}", d_now) а потом не додумался ещё. надо: 1. вывести строку с названиями ПН ВТ СР ЧТ ПТ Сб, но это сделать через формат так как я хочу что бы если что то англ тоже выводилось.(по настройкам компа) Так это решено
2. вывести все дни в нужном порядке. - почти решил
теперь надо просто узнать какая неделя по введеному дню и задать на место И в выделеном коде |
| Автор: DenWPF 18.11.2009, 12:02 |
| нет, вы не поняли, мне надо просто рисунок я рисую graphics.DrawSting. формы не использую Как узнать по году, неделе и дню, какая это неделя? |
| Автор: KuMa1104 18.11.2009, 19:05 | ||
А, просто интересно на чём вы рисуете? Т.ё. по неделе узнать какая это неделя? Может вы имели в виду.... 12.07.2009 - что за номер недели вам нужно узнать? Какой она по счёту идёт 1ой 2ой 3ей или 4ой в месяце? Или вообще её номер в году к примеру 23? |
| Автор: DenWPF 18.11.2009, 20:50 |
| номер недели в месяце. 1 2 3 4 |
| Автор: KuMa1104 18.11.2009, 21:28 |
| ИМХО получи день с которого начинался месяц. Например воскресенье это 1ое число. 1-ая неделя значит 18 число это 4 ая неделя (0 + (2 + 7)) + 4 Максимум может быть до 6 недель. |
| Автор: DenWPF 18.11.2009, 22:05 |
| аррр, сори расчет не понял. |
| Автор: KuMa1104 18.11.2009, 22:49 | ||
| Зы ну это очень образно. Предположим что 1ое число месяца это субота, значит 1ая неделя состоит из 2х дней суб. и воскресенье. предположим что сегодня 10е число, посчитаем дни 1 ая неделя 2 день (суб + воскресенье) 2 ая неделя 7 день 3 ая неделя 1 день значит 10 число это понедельник. Аналогично с
А чёрт я там имел в виду (1 + (2 * 7)) + 3 (среда) это я виноват sory... |
| Автор: DenWPF 19.11.2009, 00:37 |
| не понял, ты предлагаешь для каждого высчитывать??? нету единой формулы? |
| Автор: KuMa1104 19.11.2009, 12:17 |
Я вообще предлогал использовать календарь, какой нибудь. Почему нет? Есть. Я предложил идею а не алгоритм, его уж сам составиш, конкретно под свою задачу. а идея в том, что сначало досчитываеш до конца 1ой недели. Т.е. если 1ое число месяца воскресенье, то думаю понятно что до конца недели 1 день. значит n_week = 1 Потом X это твоя дата например 30 число в месяце. значит делаем так. int n_week + = (Х-1)/7 = (30 - 1)/7 = 4 значит это уже как минимум 5 ая неделя а потом проверяем остаток if((Х-1)%7 != 0) week++; Таким образом 6 неделя. открой календарь убедись, это для нынешнего месяца |
| Автор: tol05 19.11.2009, 13:28 |
| http://msdn.microsoft.com/en-us/library/system.globalization.calendar.getweekofyear.aspx не оно? |
| Автор: DenWPF 19.11.2009, 18:11 |
| оно. спасибо. всё календарь сделал. буду тестить культуры |