Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
naJlaguH
17 / 17 / 4
Регистрация: 19.06.2014
Сообщений: 85
1

Как перегрузить метод контролла webBrowser1.Navigate

06.08.2014, 01:05. Просмотров 1107. Ответов 7
Метки нет (Все метки)

дайте пожалуйста пример как перегрузить метод контрола webBrowser1.Navigate("")
пусть допустим при его вызове вываливается MessageBox

Добавлено через 2 минуты
имеется ввиду не добавить еще одну перегрузку метода с другими параметрами, а сделать так чтобы при вызове webBrowser1.Navigate("site")
вызывался не оригинальный метод а мой
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2014, 01:05
Ответы с готовыми решениями:

WebBrowser1.Navigate
ПЛиз! Самый простой вопрос и не могу понять! Есть такой код: public...

Кодировка при webBrowser1.Navigate
Доброе время суток. При переходе по страницам, передаю данные гетом. Данные...

Запрет запуска второго экземпляра программы и WebBrowser1.Navigate
Не придумал как тему можно назвать кратко и что быбыло понятно... Задача...

Передача идентификатора контролла как аргумента в метод
Добрый всем вечер. Не могу найти решение казалось бы простой задачи. Суть в...

Метод Navigate не открывает страницу в контроле
Проблема, возникла только у 1 человека из 100+ То есть проблема похоже в...

7
а777мр
Заблокирован
06.08.2014, 02:03 2
Создать свой класс, унаследованный от WebBrowser.
В нем перегрузить метод.
Все это есть даже в достаточно плохих книжках по программированию - и наследование и перегрузка и перекрывание
0
TooHot
71 / 60 / 26
Регистрация: 05.08.2014
Сообщений: 218
06.08.2014, 21:11 3
naJlaguH,

В настраиваемом элементе управления вы не перегрузите данный перегруженный метод.

Просто создайте функцию что-то типа такого:

C#
1
2
3
4
5
6
        public void Go(WebBrowser wb, string url, bool msg)
        {
            wb.Navigate(url);
            if (msg)
                MessageBox.Show("bla-bla");
        }
и используйте

C#
1
2
3
4
        private void Form1_Load(object sender, EventArgs e)
        {
            Go(webBrowser1, "http://ya.ru", true);
        }
0
kusarius
0 / 0 / 1
Регистрация: 07.08.2014
Сообщений: 3
07.08.2014, 12:20 4
C#
1
2
3
4
5
6
7
class MyBrowser : WebBrowser
{
    protected override void Navigate(string url)
    {
        // Твой код...
    }
}
0
TooHot
71 / 60 / 26
Регистрация: 05.08.2014
Сообщений: 218
07.08.2014, 12:32 5
kusarius,

а вы сами пробовали это сделать?
0
kusarius
0 / 0 / 1
Регистрация: 07.08.2014
Сообщений: 3
07.08.2014, 13:58 6
Лучший ответ Сообщение было отмечено naJlaguH как решение

Решение

WebBrowser.Navigate не помечен как virtual, поэтому его нельзя переопределить. Но можно определить метод Navigate в дочернем классе (без override) и всё будет работать.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
сlass MyBrowser : WebBrowser
{
    public void Navigate(string url)
    {
        MessageBox.Show("It works!");
        // Твой код...
    }
}
 
class Program
{
    static void Main()
    {
        MyBrowser mb = new MyBrowser();
        mb.Navigate("");
    }
}
0
TooHot
71 / 60 / 26
Регистрация: 05.08.2014
Сообщений: 218
07.08.2014, 14:19 7
Согласен, но это не есть перегрузка метода.
0
naJlaguH
17 / 17 / 4
Регистрация: 19.06.2014
Сообщений: 85
07.08.2014, 18:03  [ТС] 8
kusarius то что нужно спасибо,

TooHot
имеется ввиду не добавить еще одну перегрузку метода с другими параметрами, а сделать так чтобы при вызове webBrowser1.Navigate("site")
вызывался не оригинальный метод а мой

я написал сначала перегрузку, тк не знал как правильно назвать то что мне нужно, поэтому ниже дописал это пояснение
0
07.08.2014, 18:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.08.2014, 18:03

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

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

WebBrowser.Navigate: Как без сообщения прочитать документ?
Извиняюсь, если повторюсь, но не нашла ответа на свой вопрос, или плохо искала)...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru