Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Функция для перелистывания страниц на С# 
:(
    Опции темы
POGONEZ
Дата 20.2.2010, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



Помогите разобраться с перелистыванием страниц,как это организовать.Как сделать так чтобы при нажатии кнопки вперед,подгружался новый файл и открывался для чтения?
PM MAIL   Вверх
Экскалупатор
Дата 20.2.2010, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



POGONEZ, страниц чего? откуда брать? в чем листать?

Цитата(POGONEZ @  20.2.2010,  17:50 Найти цитируемый пост)
Как сделать так чтобы при нажатии кнопки вперед,подгружался новый файл и открывался для чтения? 

в обработчике события для кнопки пиши нужный код и будет тебе счастье...
PM MAIL ICQ   Вверх
POGONEZ
Дата 20.2.2010, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



Код

 private void btForward_Click(object sender, EventArgs e)
        {
            FileStream maintext = new FileStream("HTMLPage2.html", FileMode.Open, FileAccess.Read);
        }

А как чтобы дальше открывался "HTMLPage3.html" потом "HTMLPage4.html", и тоже самое назад?

Добавлено через 4 минуты и 41 секунду
Главы книги,которая находится в HTML,точнее каждая ее глава в отдельном HTML,я на форме нарисовал WebBrowser на него выводятся главы в HTML.Как перелистывать главы вперед?
PM MAIL   Вверх
Pilger
Дата 20.2.2010, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



Запоминаешь номер текущей страницы и открываешь нужную тебе страницу с нужным номером. При перелистывании +1 или -1


--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
POGONEZ
Дата 20.2.2010, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



Pilger, можешь привети пример кода про то как надо запоминать номер страницы.
PM MAIL   Вверх
Экскалупатор
Дата 20.2.2010, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



POGONEZ, откуда ты берешь названия страниц? у них у всех названия отличаются только цифрой?
PM MAIL ICQ   Вверх
POGONEZ
Дата 20.2.2010, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



Да,только цифрой,но я могу и переименовать по своему
PM MAIL   Вверх
wester
Дата 20.2.2010, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 4
Всего: 13



Код

private void btForward_Click(object sender, EventArgs e)
        {
            FileStream maintext = new FileStream("HTMLPage2.html", FileMode.Open, FileAccess.Read);
        }

на мой взгляд немного неудачно, что задано статично имя файла. лучше его собирать когда будешь перелистывать 
ну и само собой завести некую глобальную переменную куда будешь записывать номер открытого файла в данный момент

Код

var count = 0; // номер файла открытого в данный момент
private void btForward_Click(object sender, EventArgs e)
        {
            var fileName = String.Format("HTMLPage{0}.html",count++);
            FileStream maintext = new FileStream(fileName, FileMode.Open, FileAccess.Read);
            count++;//увеличиваем счетчик на единицу
        }


Это сообщение отредактировал(а) wester - 20.2.2010, 22:56
PM MAIL   Вверх
Экскалупатор
Дата 21.2.2010, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



Код

var count = 0; // номер файла открытого в данный момент
private void btForward_Click(object sender, EventArgs e)
        {
            var fileName = String.Format("HTMLPage{0}.html",count++);
            FileStream maintext = new FileStream(fileName, FileMode.Open, FileAccess.Read);
            count++;//увеличиваем счетчик на единицу
        }


получится что ты будешь просматривать страницы через одну. потому что переменная count будет увеличиваться на единицу два раза. последнюю строчку надо убрать.

Добавлено через 2 минуты и 42 секунды
по поводу имен файлов. генерировать их конечно хорошо, но намного лучше указывать папку откуда их брать, делать из файлов что то вроде списка и оттуда брать значения. узким местом будет сортировка файлов в нужном порядке. но в этом случае ты не будешь жестко привязан к имени файлов, которое как ты сам сказал может измениться...
PM MAIL ICQ   Вверх
wester
Дата 21.2.2010, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 4
Всего: 13



Экскалупатор
а черт, устал (:
спасибо что поправил.

ну тогда вот такой код

Код

var fileName = String.Format("HTMLPage{0}.html", ++count);
           FileStream maintext = new FileStream(fileName, FileMode.Open, FileAccess.Read);

         
PM MAIL   Вверх
Экскалупатор
Дата 21.2.2010, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



wester, бывает.


POGONEZ, стоило бы уделить внимания архитектуре всего этого действа. у тебя все делается в обработчике кнопки, это не айс. сделай класс, который будет выполнять всю подготовку списка страниц для просмотра, хранить/задавать текущую, возвращать текущую по требованию и пр. будет в дальнейшем проще во всем этом разобраться и найти ошибки(а они, как показывает практика, почти всегда не избежны...).
PM MAIL ICQ   Вверх
diadiavova
Дата 21.2.2010, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



А не проще ли всё скомпилить в chm-файл? smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
POGONEZ
Дата 21.2.2010, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



Спасибо.
Согласен что это не айс и надо делать классс,но пока не могу сообразить как это должно выглядить,для загрузки,хранения и пр.

Что-то не получается,когда я нажимаю кнопку назад он пишет что файл HTMLPage-1 не найден.

Помогите с классом,который будет все обрабатывать.

Это сообщение отредактировал(а) POGONEZ - 21.2.2010, 20:14
PM MAIL   Вверх
wester
Дата 21.2.2010, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 4
Всего: 13



POGONEZ
а сам файл то как выбираешь ?

создай отдельный класс с методами для перелистывания и сохранения состояния
в чем проблема то ? не можешь архитектуру продумать ?
PM MAIL   Вверх
POGONEZ
Дата 22.2.2010, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.2.2010

Репутация: нет
Всего: нет



При запуске формы,открывается файл в WebBrowser-е HTMLPage1.А дальше надо с помощью кнопок назад вперед листать главу,тоесть грузить остальные файлы
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0834 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.