C # Winforms Необходим пользовательский элемент управления WebBrowser - PullRequest
0 голосов
/ 28 апреля 2011

В последнее время я искал в Интернете существующий элемент управления, который действует как элемент управления веб-обозревателя с некоторыми специфическими функциями, которые мне нужны.

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

Мне нужен элемент управления, который позволяет мне просматривать веб-страницы, в то же время он позволяет мне редактировать его программно. Мне не нужно писать HTML или текст непосредственно в редакторе, но нужно иметь возможность нажимать кнопку, вставлять определенный HTML-код в документ и обновлять предварительный просмотр.

Мне также нужно иметь возможность фиксировать события нажатия на элементе управления. Например, я хочу щелкнуть конкретное место в элементе управления и получить элемент HTML, который находится в позиции мыши. Что касается событий, мне также нужно было бы иметь возможность захватывать с помощью перетаскивания, и кажется, что изначально элемент управления браузера также не поддерживает это.

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

Заранее благодарю за любую помощь.

Ответы [ 3 ]

1 голос
/ 28 апреля 2011

Два предложения:

На стороне клиента браузера есть средства доступа DOM, которые позволят вам получить HTML по положению мыши. Проверьте эту страницу для демонстрации этого:

http://www.permadi.com/tutorial/cssGetElementUnderMouse/index.html

Предположительно, вы могли бы написать javascript в свой HTML-код, в котором были бы зацепки, чтобы вызывать события в родительском коде пользовательского интерфейса, которые в свою очередь могли бы взаимодействовать с браузером. Было бы неплохо получить что-то, что захватывает имя элемента HTML из DOM и передает его обратно в пользовательский интерфейс, который использует его как курсор в HTMLDocument.

Оттуда вы, вероятно, могли бы расширить эту модель для поддержки таких идей, как перетаскивание / перетаскивание, обновление на лету или что-то еще.

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

http://kompozer.net/features.php

0 голосов
/ 28 апреля 2011
0 голосов
/ 28 апреля 2011

Насколько я знаю, такого контроля нет.Более того, написать один с нуля, который правильно отобразил бы весь современный HTML / CSS, было бы серьезным начинанием.

Даже такие продукты, как Microsoft Expression, обычно имеют причуды в способе отображения редактируемого HTML.1004 * Боюсь, у тебя есть работа.

...