2016-10-12 2 views
1

Так что я пытаюсь сделать простое приложение для меня и моего друга. Приложение используется для его радиостанции. В настоящее время у меня есть базовый элемент управления WebBrowser. Элемент управления WebBrowser заблокирован в определенном месте на твиттере, чтобы вы могли видеть все твиты, которые его радиостанция читает.Visual Studio 2015 Как сделать элемент управления WebBrowser unclickable

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

Есть ли у кого-нибудь идеи, как сделать элемент управления WebBrowser незаметным?

+0

Вы пытались отключить его? Просто установите для свойства 'Enabled' значение false. –

+0

Установите для' false' все свойства, заканчивающиеся на '* Enabled'. – i486

+0

Просто подключите событие click и верните false? – kwoxer

ответ

0

Я не уверен, что это сработает, но попробуйте создать событие click и поместите только «return;» инструкции в коде события. который должен отменить щелчок.

+0

Проблема заключается в том, что я, к сожалению, не может создать событие клика – Thow

+0

Серьезность \t Код \t Описание \t Проект \t файла \t Line \t Подавление Государственный Ошибка \t CS0136 \t Локальный или параметр с именем «е» не может быть объявлен в этой области, потому что это имя используется в закрывающей локальной области для определения локального или параметра \t OoutputRadio3.0 \t C: \ Users \ Thowmas \ Documents \ Visual Studio 2015 \ Projects \ OoutputRadio3.0 \ OoutputRadio3.0 \ Form1.cs Active – Thow

+0

Не знал, что вы не можете нажать enter для новой строки текста, поэтому извините за три комментария. У меня есть другая проблема при использовании этого кода. Нажатие твита заставляет всплывающее окно, поэтому на самом деле оно не работает? Спасибо за быстрый ответ! – Thow

1

Возможным решением было бы остановить браузер от навигации в любом месте:

wb.Navigating += (s, e) => e.Cancel = true; 

Но я честно не знаю, если это будет работать для любых необычных методов AJAX.

Если вы хотите включить навигацию, вы также можете проверить наличие e.Uri или, возможно, разрешить навигацию, если e.NavigationMode == NavigationMode.Refresh.

+0

Пробовал кусок кода, который вы мне прислали, я получаю сообщение об ошибке. Ошибка: – Thow

+0

Код степени серьезности Описание Ошибка подавления строки строки файла проекта CS0136 Локальный параметр или параметр с именем 'e' не могут быть объявлены в этой области, поскольку это имя используется в закрывающей локальной области для определения локального параметра или параметра OoutputRadio3.0 C: \ Пользователи \ Thowmas \ Documents \ Visual Studio 2015 \ Projects \ OoutputRadio3.0 \ OoutputRadio3.0 \ Form1.cs 326 Ctive - не знали, что вы не можете нажать enter для новой строки текста, поэтому извините за три Комментарии. У меня есть другая проблема при использовании этого кода. Нажатие твита заставляет всплывающее окно, поэтому на самом деле оно не работает? – Thow

+0

@Thow Просто дайте 'e' еще одно имя, которое еще не используется. Например, 'wb.Navigating + = (s, ea) => ea.Cancel = true;'. К сожалению, предотвращение открытия нового окна немного сложнее. [Здесь] (http://social.technet.microsoft.com/wiki/contents/articles/22943.preventing-external-links-from-opening-in-new-window-in-wpf-web-browser.aspx) вы можете найти образец возможного решения, в котором вы вручную обрабатываете каждый запрос 'OnWebBrowserNewWindow' и останавливаете его.(Просто не забудьте оставить «MyWebBrowser.Navigate (URL);'.) – haindl