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

Как перехватить переход по ссылке в элементе WebBrowser?

16.02.2018, 12:06. Показов 4256. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Подскажите пожалуйста каким образом можно перехватить переход по ссылке в элементе WebBrowser?
Свойством Navigating? (Если да, то покажите пожалуйста простой пример условия, не могу найти никак что-то подходящее).
Мне нужно сделать простое условие например:
По клику на любую ссылку перехватываем переход. Если ссылка содержит какое-либо слово,то переходим. Если нет то нет)

Есть идеи товарищи знатоки?)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.02.2018, 12:06
Ответы с готовыми решениями:

Как перехватить переход по ссылке в элементе WebControl (Awesomium)?
Добрый день. Подскажите пожалуйста каким образом можно перехватить переход по ссылке в элементе WebControl (Awesomium)? Свойством...

Как в webBrowser отменить переход по ссылке?
Все привет! На форме есть браузер webBrowser1, в него загружаю код, например: private void treeView1_AfterSelect(object sender,...

Переход по ссылке в тот же webbrowser
Когда я в моем браузере ищу что-то в гугле, то когда кликаю по одной и ссылок он открывает новое окно в IE. Как мне сделать чтобы она...

4
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
16.02.2018, 12:25
Цитата Сообщение от mazer999 Посмотреть сообщение
Свойством Navigating?
Обработкой события Navigating:
C#
1
2
3
4
5
6
void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    string word = "someWord"; //какое-то слово
    if (!e.Url.ToString().Contains(word)) //если не содержит
        e.Cancel = true; //не переходим
}
1
1 / 1 / 2
Регистрация: 16.02.2015
Сообщений: 137
16.02.2018, 12:51  [ТС]
Даценд, Спасибо!
Я недавно с C# начал работать и еще многого не понимаю. Не подскажете куда вставить это и не надо ли еще гдето подписываться на события?
Я в SharpDevelop работаю:
В проекте 2 файла. MainForm.cs:
Кликните здесь для просмотра всего текста
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
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
 
namespace Casdasd
{
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public partial class MainForm : Form
    {
        public MainForm()
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();
            
            //
            // TODO: Add constructor code after the InitializeComponent() call.
            //
        }
    }
}


и Program.cs
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Windows.Forms;
 
namespace Casdasd
{
    /// <summary>
    /// Class with program entry point.
    /// </summary>
    internal sealed class Program
    {
        /// <summary>
        /// Program entry point.
        /// </summary>
        [STAThread]
        private static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());
        }
        
    }
}
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
16.02.2018, 14:43
Лучший ответ Сообщение было отмечено mazer999 как решение

Решение

Цитата Сообщение от mazer999 Посмотреть сообщение
Не подскажете куда вставить это и не надо ли еще гдето подписываться на события?
В SharpDevelop я никогда не работал, но думаю нужно сделать как-то так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public partial class MainForm : Form
{
    public MainForm()
    {
        //
        // The InitializeComponent() call is required for Windows Forms designer support.
        //
        InitializeComponent();
        webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
        //
        // TODO: Add constructor code after the InitializeComponent() call.
        //
    }
 
    void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
    {
        string word = "someWord"; //какое-то слово
        if (!e.Url.ToString().Contains(word)) //если не содержит
            e.Cancel = true; //не переходим
    }
}
1
1 / 1 / 2
Регистрация: 16.02.2015
Сообщений: 137
16.02.2018, 14:56  [ТС]
Даценд, Спасибо!!! Всё заработало! Хороших выходных!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.02.2018, 14:56
Помогаю со студенческими работами здесь

Переход по ссылке в WebBrowser в том же окне
Всем доброго времени суток! Подскажите, пожалуйста, как сделать, чтобы при переходе по ссылке в WebBrowser, он открывал ссылку в этом же...

Переход по ссылке из WebBrowser в обычный браузер
У меня вопрос по элементу WebBrowser. В нём отображается ссылка, как сделать чтобы оттуда переходило по ссылке в дефолтный пользовательский...

Как перехватить событие на новом созданном элементе после выполнения ajax
Имеется форма. В ней поле select и input. Я ловлю событие сначала поля select и заменяю существующий input на новый select который вернул...

jQuery, запрет перехода по ссылке, Как запретить переход по ссылке, кликая по img внутри нее же?
есть такая конструкция &lt;a href=&quot;link.php&quot;&gt;&lt;img src='pic.jpg'&gt;&lt;/a&gt; когда нажимаю на картинку то естественно происходит переход по...

Как перехватить событие клика на ссылке и перейти на другую страницу?
Всем привет. Нужно перехватить всплывающее событие клика на теге a, и перейти не по ссылке, а по другому адресу. Вот примет: ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru