powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Управление компонентом AxAcroPDF с помощью клавиш
1 сообщений из 1, страница 1 из 1
Управление компонентом AxAcroPDF с помощью клавиш
    #38638887
alex_1988
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую компонент AxAcroPDF в десктопном приложении C#. Приложение работает по принципу терминала, управление только с клавиатуры, без мыши. Потому и возникла известная уже здесь проблема, что AxAcroPDF перехватывает все события нажатия клавиш,то есть, например, по нажатию на Esc у меня должен произойти выход из просмотра PDF, а компонент не дает это сделать, не зависимо от расположения фокуса. Чтоб не делать клавиатурный хук на эту и несколько других клавиш, расположил компонент на панели у которой свойство Enabled = false и прописал все действия над PDF вручную (листание вперед-назад, переход на первую/последнюю страницу, изменение масштаба):
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
                if (e.KeyCode == Keys.Right)
                {
                        axAcroPDF1.gotoNextPage();
                }

                if (e.KeyCode == Keys.Left)
                { 
                        axAcroPDF1.gotoPreviousPage();
                }

                if (e.KeyCode == Keys.Up)
                {
                        axAcroPDF1.gotoPreviousPage();
                }

                if (e.KeyCode == Keys.Down)
                {
                        axAcroPDF1.gotoNextPage();
                }

                if (e.KeyCode == Keys.Home)
                {
                    axAcroPDF1.gotoFirstPage();
                }

                if (e.KeyCode == Keys.End)
                {
                    axAcroPDF1.gotoLastPage();
                }

                if (e.KeyCode == Keys.PageUp)
                {
                    axAcroPDF1.gotoPreviousPage();
                }

                if (e.KeyCode == Keys.PageDown)
                {
                    axAcroPDF1.gotoNextPage();
                }

                if (e.KeyCode == Keys.Add)
                {
                    zoom = zoom + 5;
                    axAcroPDF1.setZoom(zoom);
                }

                if (e.KeyCode == Keys.Subtract)
                {
                    zoom = zoom - 5;
                    axAcroPDF1.setZoom(zoom);
                }



Теперь все работает, но осталось понять как сделать так, чтоб когда размер текущей страницы PDF больше размера компонента axAcroPDF, то по нажатию на клавиши курсора, компонент не перелистывал бы страницу, а двигал бы текущую страницу до края. При стандартном использовании, компонент это позволяет делать, но интересно было бы узнать как это прописать вручную
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Управление компонентом AxAcroPDF с помощью клавиш
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]