Компонент WebBrowser

Компонент WebBrowser представляет собой окно небольшого браузера, в котором можно отображать содержимое какой-нибудь html-страницы. Документ html может находится на данной машине или на удалённой — это не имеет особого значения.

Это новый компонент, он появился только в .NET 2.0.

Рассмотрим пример использования этого компонента.

Создадим оконное приложение. На форме расположим 3 компонента: MenuStrip — для создания меню программы, OpenFileDialog — для работы со стандартным окном диалога по выбору открываемого файла и WebBrowser — для отображения в его окне текста файла в формате html.

По-умолчанию компонент MenuStrip будет иметь имя menuStrip1. В меню создадим пункт Файл и в нём Открыть (свойство Name для него мною задано MnuFileOpen) и Выход (свойство Name имеет значение MnuFileExit). Пункт меню Открыть предназначен для выбора имени файла, который мы хотим открывать в окне компонента WebBrowser, и собственно для открытия файла.

Компонент OpenFileDialog по-умолчанию получил значение свойства Name openFileDialog1, а компонент WebBrowserwebBrowser1. Оставим это без изменения.

Создадим обработчики для пунктов меню Открыть и Выход.

Вот текст основного файла программы:

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Windows.Forms;


namespace Prim_WebBrowser1

{

   /// <summary>

   /// Description of MainForm.

   /// </summary>

   public partial class MainForm : Form

   {

      string nameStr;

      public MainForm()

      {

         InitializeComponent();

      }


      void MnuFileExitClick(object sender, EventArgs e)

      {

         Close();

      }


      void MnuFileOpenClick(object sender, EventArgs e)

      {

         openFileDialog1.Filter = "HTML files (*.html)|*.html";

         if(openFileDialog1.ShowDialog()== DialogResult.OK)

         {

            nameStr=openFileDialog1.FileName;

            webBrowser1.Url = new System.Uri(nameStr);

         }

      }

   }

}

В обработчике MnuFileOpenClick(), который срабатывает по нажатию на пункт меню Открыть, вначале определяем с какими файлами мы будет работать. Делается это с помощью своеобразного фильтра — свойства Filter для объекта класса OpenFileDialog:

openFileDialog1.Filter = "HTML files (*.html)|*.html";

Свойство Filter — это строка символов, состоящая из двух частей, разделённых символом | (вертикальная черта). В первой части даём пояснение о том, какие файлы нам требуются для отбора (у нас это файлы html ("HTML files (*.html)"), а во второй части записывается сам шаблон для отбора, который уже будет обрабатываться в программе (здесь это "*.html", т. е. любые файлы с расширением html).

Далее записываем оператор

if(openFileDialog1.ShowDialog()== DialogResult.OK)

{ .............}

Здесь в условии оператора if делается проверка факта: выбрал пользователь файл, подходящий под наш фильтр, или нет. Если «Да», т. е. он выбрал файл и нажал на кнопку «Открыть» в окне диалога, то выполняются действия, записанные в блоке ветви «Да» оператора if. Главное — это получить имя выбранного файла:

nameStr=openFileDialog1.FileName;

а затем это имя указываем в качестве адреса той web-страницы, которую надо открыть:

webBrowser1.Url = new System.Uri(nameStr);

Всё, нужная страница будет открыта в окне программы.

Замечание. Запоминать имя файла в строке nameStr, конечно, совсем необязательно. Это может быть необходимо в том случае, когда надо выполнять какие-то действия с именами открываемых файлов (например, учитывать, какие файлы уже открывались, выводить имена файлов на печать и т. д.).



Назад
На верх
Вперёд
Hosted by uCoz