| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Функция для перелистывания страниц на С# |
| Автор: POGONEZ 20.2.2010, 18:50 |
| Помогите разобраться с перелистыванием страниц,как это организовать.Как сделать так чтобы при нажатии кнопки вперед,подгружался новый файл и открывался для чтения? |
| Автор: POGONEZ 20.2.2010, 19:48 | ||
А как чтобы дальше открывался "HTMLPage3.html" потом "HTMLPage4.html", и тоже самое назад? Добавлено через 4 минуты и 41 секунду Главы книги,которая находится в HTML,точнее каждая ее глава в отдельном HTML,я на форме нарисовал WebBrowser на него выводятся главы в HTML.Как перелистывать главы вперед? |
| Автор: Pilger 20.2.2010, 19:54 |
| Запоминаешь номер текущей страницы и открываешь нужную тебе страницу с нужным номером. При перелистывании +1 или -1 |
| Автор: POGONEZ 20.2.2010, 20:13 |
| Pilger, можешь привети пример кода про то как надо запоминать номер страницы. |
| Автор: Экскалупатор 20.2.2010, 20:45 |
| POGONEZ, откуда ты берешь названия страниц? у них у всех названия отличаются только цифрой? |
| Автор: POGONEZ 20.2.2010, 22:16 |
| Да,только цифрой,но я могу и переименовать по своему |
| Автор: wester 20.2.2010, 22:55 | ||||
на мой взгляд немного неудачно, что задано статично имя файла. лучше его собирать когда будешь перелистывать ну и само собой завести некую глобальную переменную куда будешь записывать номер открытого файла в данный момент
|
| Автор: Экскалупатор 21.2.2010, 00:09 | ||
получится что ты будешь просматривать страницы через одну. потому что переменная count будет увеличиваться на единицу два раза. последнюю строчку надо убрать. Добавлено через 2 минуты и 42 секунды по поводу имен файлов. генерировать их конечно хорошо, но намного лучше указывать папку откуда их брать, делать из файлов что то вроде списка и оттуда брать значения. узким местом будет сортировка файлов в нужном порядке. но в этом случае ты не будешь жестко привязан к имени файлов, которое как ты сам сказал может измениться... |
| Автор: wester 21.2.2010, 00:17 | ||
| Экскалупатор, а черт, устал (: спасибо что поправил. ну тогда вот такой код
|
| Автор: Экскалупатор 21.2.2010, 00:46 |
| wester, бывает. POGONEZ, стоило бы уделить внимания архитектуре всего этого действа. у тебя все делается в обработчике кнопки, это не айс. сделай класс, который будет выполнять всю подготовку списка страниц для просмотра, хранить/задавать текущую, возвращать текущую по требованию и пр. будет в дальнейшем проще во всем этом разобраться и найти ошибки(а они, как показывает практика, почти всегда не избежны...). |
| Автор: diadiavova 21.2.2010, 12:37 |
| А не проще ли всё скомпилить в chm-файл? |
| Автор: POGONEZ 21.2.2010, 19:22 |
| Спасибо. Согласен что это не айс и надо делать классс,но пока не могу сообразить как это должно выглядить,для загрузки,хранения и пр. Что-то не получается,когда я нажимаю кнопку назад он пишет что файл HTMLPage-1 не найден. Помогите с классом,который будет все обрабатывать. |
| Автор: wester 21.2.2010, 21:45 |
| POGONEZ, а сам файл то как выбираешь ? создай отдельный класс с методами для перелистывания и сохранения состояния в чем проблема то ? не можешь архитектуру продумать ? |
| Автор: POGONEZ 22.2.2010, 00:36 |
| При запуске формы,открывается файл в WebBrowser-е HTMLPage1.А дальше надо с помощью кнопок назад вперед листать главу,тоесть грузить остальные файлы |
| Автор: wester 22.2.2010, 00:55 |
| POGONEZ, выше я уже опубликовал код, который может помочь в решении этой задачи конечно, можно вынести его в отдельный класс, но это дело вкуса) |
| Автор: Pilger 22.2.2010, 13:03 | ||
Ты похоже забыл сделать проверки следующего типа, например: Проверка, является ли текущая страница первой, во избежании ошибок со страницами -1 -2 -3. Тут уж как хочешь. Можешь перескакивать на последнюю, можешь блокировать кнопку, можешь еще что либо. Проверка, является ли файл последним. Проверка, существует ли файл вообще. Фантазируй. |
| Автор: Экскалупатор 22.2.2010, 18:54 |
да. в нашем деле без этого никак... как говориться компьютер ничего не делает сам. так что как ты ему это напишешь так он и обработает. и все нюансы должен учитывать программист, а не машина. |