Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
4 / 4 / 2
Регистрация: 22.04.2015
Сообщений: 58

Обработка события нажатия кнопок или кликов в браузере Chronium

20.02.2020, 09:31. Показов 1498. Ответов 2

Студворк — интернет-сервис помощи студентам
Добрый день!
Встала задача реализовать что-то на подобии лаунчера с автоапдейтером, и решил использовать для этого загрузку браузерной страницы с готовым интерфейсом.
Чтобы корректно передавались все стили решил использовать в качестве веб браузера под формой - ChromiumWebBrowser из пакета CefSharp.WinForms;

Проблема в том, что как только я добавляю в список контроллеров формы этот браузер, то форма перестает реагировать на подписанные события типа OnKeyPress и любые другие.
В Chronium есть свои аналогичные события, но они так же отказываются срабатывать. Дебагер попросту ни в один из них не заходит, но как только уберу из списка контроллов хрониум, то событие нажатия клавиш формы - тут же работает.
Отсюда и вопрос, что я делаю не так и возможно ли это как-то исправить?
Код с инициализациями и событиями:


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
  public partial class Form1 : Form
    {
        ChromiumWebBrowser chrome;
 
        public Form1()
        {
            InitializeComponent();
            CefSettings settings = new CefSettings();
            Cef.Initialize(settings);
            chrome = new ChromiumWebBrowser("https://www.google.com/");
 
            chrome.Load("https://www.google.com/");
            chrome.KeyPress += Chrome_KeyPress;
            chrome.KeyDown += Chrome_KeyDown;
          //  this.Controls.Add(chrome);
 
        }
 
        private void Chrome_KeyDown(object sender, KeyEventArgs e)
        {
            MessageBox.Show("chrome");
        }
 
        private void Chrome_KeyPress(object sender, KeyPressEventArgs e)
        {
            MessageBox.Show("chrome press");
        }
 
        private void Form1_KeyPress(object sender, KeyPressEventArgs e)
        {
            MessageBox.Show("form press");
        }
    }


Так же вопрос к знатокам. Подскажите, какими встроенными или сторонними либами я могу обрабатывать браузерные клики, перехватывая JS события. К примеру кликнул по браузерной кнопке Install => на странице отработало JS событие => а C# код формы отследил это нажатие и передал в соответствующий метод. Если такое возможно конечно. Или что-то подобного рода, как решаются такие задачи?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.02.2020, 09:31
Ответы с готовыми решениями:

Обработка нажатия кнопок
Здравствуйте! У меня есть поле bool ChangingColor = true; И событие private void Form1_KeyDown(object sender, KeyEventArgs e) ...

Обработка события нажатия клавиш
Есть комбобокс и кнопка. При вставке текста в комбобокс через ctlr+v должно вызываться событие, которое оперирует этим текстом, однако поле...

Обработка события нажатия клавиши
Всем привет! private void Form1_KeyUp(object sender, KeyEventArgs e) { if (e.KeyData == Keys.F2) Close();...

2
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
20.02.2020, 13:55
.. а если так?

C#
1
2
3
4
private void Form1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
        {
            MessageBox.Show("form press");
        }
0
4 / 4 / 2
Регистрация: 22.04.2015
Сообщений: 58
20.02.2020, 15:50  [ТС]
Здравая мысль, но не помогло. ChroniumWebBrowser наследуется от того же базового контрола WinForms, что и прочие элементы:
C#
1
 public class ChromiumWebBrowser : Control, IWebBrowserInternal, IWebBrowser, IDisposable, IWinFormsWebBrowser
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.02.2020, 15:50
Помогаю со студенческими работами здесь

Обработка события нажатия клавиши клавиатуры
Здравствуйте, у меня такой вопрос: как обработать событие нажатия определенной клавиши клавиатуры, и если можно в этом обработчике...

Обработка события нажатия клавиши мыши
При наведении на определенную область необходимо заменить курсор на другой и при нажатии выполнить функцию. Не могу понять почему на...

Не работает обработка события нажатия кнопки клавиатуры в форме
Здравствуйте! Есть проблема, задали курсовик, но не получается реализовать несколько моментв: 1. Почему то не срабатывает функция...

Обработка нажатия сразу 2х кнопок или сначала 1ой потом +2ая
Есть код $(document).keypress(function (e) { if(event.keyCode == 97) { } }); $(document).keypress(function (e)...

Перехват события нажатия кнопок вверх/вниз в StringGrid
Как осуществить перехват нажатия кнопок вверх, вниз, вправо, влево ну и заодно кнопки НамЛока? Нужно отследить это событие, но не по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru