изменить внутренний текст HTML с помощью веб-браузера - PullRequest
0 голосов
/ 16 октября 2018

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

  private void Form1_Load(object sender, EventArgs e)
    {

      string  HTML = "<table id='header'> " +
    " <tr> " +
      "   <td> 1 </td> " +
     "    <td> 2 </td> " +
      "   <td> 3 </td> " +
     "    <td> 4 </td> " +
    " </tr> " +
            " <tr> " +
      "   <td> 1 </td> " +
     "    <td> 2 </td> " +
      "   <td> 3 </td> " +
     "    <td> 4 </td> " +
    " </tr> " +
 "</table> "+
 "<span id='settore'></span>" +
 "<span id='laboratorio'></span>";


        ImpostaLabel("settore", "NuovoValoreSettore", HTML);
        ImpostaLabel("laboratorio", "NuovoValorelaboratorio", HTML);
    }
    private void ImpostaLabel(string id, string valore,string HTML)
    {
        var w = new WebBrowser();
        w.DocumentCompleted += DumpHeaderTable;
        w.DocumentText = HTML;

        //passo le variabili per farle modificare al webbrowser
        NomeControllo = id;
        NuovoValore = valore;
    }
    private void DumpHeaderTable(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        DataTable dt = new DataTable();
        var webBrowser = (WebBrowser)sender;
        var Controllo = webBrowser.Document.GetElementById(NomeControllo);

        Controllo.InnerText = NuovoValore;
    }

, как вы можете видеть, в Form_Load я вызываю ImpostaLabel () , чтобы установить новое значение для SPAN, но DumpHeaderTable только срабатываетв конце Form_Load, а не при каждом вызове процедуры: ImpostaLabel () и только 1 раз
что я могу сделать?

...