Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .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 |
да. в нашем деле без этого никак... как говориться компьютер ничего не делает сам. так что как ты ему это напишешь так он и обработает. и все нюансы должен учитывать программист, а не машина. |