c# загрузить созданный html файл webbrowser - PullRequest
0 голосов
/ 07 апреля 2020

I sh для замены TextBox веб-браузером для отображения сообщений в приложении чата

Так что я могу добавить гиперссылки на видео, сайты и картинки, смайлики ...

Но когда я запускаю приложение, оно не может найти myfile. html, которое находится в папке отладки ...

Оно существует и загружается в firefox

        List<string> lines = new List<string>();
        lines.Add("<html>");
        lines.Add("<body><table width=100%><br><br>Chat:");

    lines.Add("<tr><font size=6><a href=music\\" + artist + ">
        <img src=music\\" + artist + "\\info\\default.jpg alt=" + art + " height=200 width=200 />
        </a><a href=" + path +">"+"  " + path2 +"</a></font><br><br></tr>");


        lines.Add("</table></body>");
        lines.Add("</html>");

        File.WriteAllLines("myfile.html", lines);

        wb_Messages.Navigate("myfile.html");

Я пытался

 wb_Messages.Navigate("file:///myfile.html");

 wb_Messages.Navigate(Application.StartupPath + @"myfile.html");

Без радости ...

Любая помощь Спасибо ...

Ответы [ 2 ]

1 голос
/ 07 апреля 2020

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

File.WriteAllLines("myfile.html", lines);

В этом методе вы не указали полный путь, поэтому он попытается сохранить файл в каком-то месте по умолчанию. Какое место? Не нужно думать об этом сейчас.

wb_Messages.Navigate("myfile.html");

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

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

Простое решение:

// now filePath becomes "C:\something...\myfile.html"

string filePath = Path.GetFullPath("myfile.html"); 

// save data using full path

File.WriteAllLines(filePath, lines);

// navigate to file using full path

wb_Messages.Navigate(filePath);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...