Автообновление управления WebBrowser - PullRequest
0 голосов
/ 08 октября 2009

Я хочу сделать программу в Visual Studio 2008 в Visual Basic. Он включает в себя веб-браузер, и я хочу, чтобы он автоматически обновлялся и позволял людям выбирать период времени, в который они хотят автоматическое обновление. Это не будет принимать пользовательский ввод, но у меня есть флажки, которые предустановлены. Я думаю, что это может быть возможно при использовании таймера и метода WebBrowser1.Refresh(). Если я ошибаюсь, поправьте меня и расскажите, как это сделать.

Ответы [ 2 ]

1 голос
/ 17 ноября 2009

Судя по тому, что я понял, вы пытаетесь создать приложение WinForms в VB.NET. Для достижения своей цели вы можете:

  1. Создайте элемент управления NumericUpDown или Textbox , чтобы позволить пользователям выбирать период времени обновления (вы можете решить, хотите ли вы, чтобы это было в секундах, минутах или чем-то еще).
  2. Создайте объект Timer и, используя событие TextChanged текстового поля или событие ValueChanged элемента управления NumericUpDown, задайте введенное значение, равное интервалу таймера.
  3. Создание кнопок, которые вызывают функцию запуска и остановки таймера , чтобы позволить пользователю запускать и останавливать автоматическое обновление.
  4. Подписаться на событие Timer Tick и вызвать метод обновления веб-браузера , когда событие вызвано / запущено.

Вот пример кода.

Public Class Form1
    Private Sub numInterval_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles numInterval.ValueChanged
        Timer1.Interval = numInterval.Value
    End Sub

    Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
        Timer1.Start()

    End Sub

    Private Sub btnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStop.Click
        Timer1.Stop()
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        WebBrowser1.Refresh(WebBrowserRefreshOption.Completely)
    End Sub
End Class

Как видите, я добавил обработчики событий в Timer1.Tick и numInterval.ValueChanged.

0 голосов
/ 02 октября 2013

Я бы сделал настройку на вкладке «Свойства> Настройки» для интервала, который вы хотите установить для этого, я назову его unlimitRefresh и убедитесь, что это строка, и задайте область действия для пользователя. После этого я сделаю параметры интервала кнопкой DropDown с каждым интервалом, который вы хотите установить, а затем я сделаю два таймера, а для первого я установлю интервал в 1 и получу, чтобы узнать, что говорит вкладка настроек. Тогда для кода для этого я бы набрал:

Timer2.Interval = My.Settings.unlimitRefresh

А затем для таймера установите его на то, что вы хотите. Тогда для кода я бы набрал:

WebBrowser1.Refresh()

После того, как вы закончите, просто перейдите к выпадающей кнопке и дважды щелкните по каждой кнопке для ввода кода, после чего введите:

My.Settings.unlimitRefresh = TYPE-THE-INTERVAL-HERE 

Пример:

My.Settings.unlimitRefresh = 100

После этого все должно работать нормально.

Кроме того, я понимаю, что этот пост действительно старый, но на тот случай, если кто-то его просматривает.

...