Лучший отвечающий
Помогите с HTML кодом из WebBrowser!

Вопрос
-
У меня есть Form1 на которой такие элементы: webBrowser1, button1. При нажатии button1 открывается Form2 на которой есть элемент richTextBox1. Мне нужно что бы в richTextBox загружался html текст страницы которая открыта в webBrowser1. Я делал так на Form2:
Encoding enc = Encoding.GetEncoding("windows-1251"); string HTMLText; Stream stream = webBrowser1.DocumentStream; StreamReader sr = new StreamReader(stream, enc); HTMLText = sr.ReadToEnd(); stream.Close(); richTextBox1.Text = HTMLText;
Но возникает проблема в строке там где:
Stream stream = webBrowser1.DocumentStream;
Помогите решить проблему, ато я не могу сослаться на webBrowser1.- Перемещено Tagore Bandlamudi 1 октября 2010 г. 22:53 MSDN Forums consolidation (От:Visual C#)
2 февраля 2010 г. 3:03
Ответы
-
передайте в конструктор формы2 ссылку на webBrowser1 из формы1:
//Form1.cs void button1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(webBrowser1); f2.Show(this); } //Form2.cs private WebBrowser webBrowser1; public Form2(WebBrowser myWebBrowser) { InitializeComponent(); this.webBrowser1 = myWebBrowser; GetHtml(); } private void GetHtml() { Encoding enc = Encoding.GetEncoding("windows-1251"); string HTMLText; Stream stream = webBrowser1.DocumentStream; StreamReader sr = new StreamReader(stream, enc); HTMLText = sr.ReadToEnd(); stream.Close(); richTextBox1.Text = HTMLText; }
+может быть использовать:
string HTMLText = webBrowser1.DocumentText;
- Предложено в качестве ответа I.Vorontsov 2 февраля 2010 г. 7:39
- Помечено в качестве ответа I.Vorontsov 3 февраля 2010 г. 7:42
2 февраля 2010 г. 6:23
Все ответы
-
передайте в конструктор формы2 ссылку на webBrowser1 из формы1:
//Form1.cs void button1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(webBrowser1); f2.Show(this); } //Form2.cs private WebBrowser webBrowser1; public Form2(WebBrowser myWebBrowser) { InitializeComponent(); this.webBrowser1 = myWebBrowser; GetHtml(); } private void GetHtml() { Encoding enc = Encoding.GetEncoding("windows-1251"); string HTMLText; Stream stream = webBrowser1.DocumentStream; StreamReader sr = new StreamReader(stream, enc); HTMLText = sr.ReadToEnd(); stream.Close(); richTextBox1.Text = HTMLText; }
+может быть использовать:
string HTMLText = webBrowser1.DocumentText;
- Предложено в качестве ответа I.Vorontsov 2 февраля 2010 г. 7:39
- Помечено в качестве ответа I.Vorontsov 3 февраля 2010 г. 7:42
2 февраля 2010 г. 6:23 -
У меня ошибка тут:
//Form1.cs
void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(webBrowser1);
f2.Show(this);
}3 февраля 2010 г. 11:48 -
стоило привести саму ошибку(
из возможного:
1. webBrowser1 должен быть вашим браузером в форме1 (передавайте свой браузер в параметре)
2. нет соответствующего конструктора в форме2 (public Form2(WebBrowser myWebBrowser))
3 февраля 2010 г. 11:57 -
Всё получилось! Спс! Просто раньше я делал всё также, но выдавало ошибку! Спс!3 февраля 2010 г. 12:05