На этом шаге мы рассмотрим использование этого компонента.
Компонент находится в списке All Windows Forms (Все формы Windows Forms) палитры компонентов.
Вид компонента в форме показан на рисунке 1.
Рис.1. Вид WebBrowser'a в форме
Этот компонент позволяет выводить Web-страницы прямо в вашем приложении. Его можно использовать вместо Internet Explorer (у него имеется ряд свойств, методов и событий, которые позволяют выполнять функции Internet Explorer).
Например, можно применить опцию Navigated, чтобы пользоваться списком адресов, можно использовать опции GoBack (дает возможность перейти к предыдущей Web-странице), GoForward (дает возможность перейти к последующей Web-странице), Stop (приостанавливает текущую навигацию и связанные с ней звуки и анимацию) и Refresh (перезагружает текущую Web-страницу) для создания навигационных кнопок на линейке инструментов.
Можго обработать событие Navigated для обновления линейки адресов значением свойства uri (здесь задается или сюда записывается интернет-адрес текущей Web-страницы), можно обработать заголовочную линейку значением свойства DocumentTitle (дает заголовок текущей Web-страницы).
Если вы хотите сгенерировать свою собственную страницу внутри приложения, то должны установить свойство DocumentText (через него можно ввести или прочитать HTML-текст текущей Web-страницы). Если вы знакомы с моделью DOM (HTML Document Object Model), то также можете манипулировать содержимым текущей Web-страницы, используя свойство Document. С помощью этого свойства вы можете сохранять и модифицировать документ непосредственно в памяти, минуя работу с файлами.
Теперь мы готовы к совместному применению компонентов ListView и WebBrowser, чтобы создать свой справочник интернет-адресов. Пример такого справочника в режиме дизайна показан на рисунке 2.
Рис.2. Вид интернет-справочника в режиме дизайна
Текст приложения представлен ниже (представлены только обработчики событий).
private: System::Void listView1_ItemActivate(System::Object^ sender, System::EventArgs^ e) { ListView::SelectedListViewItemCollection^ breakfast = this->listView1->SelectedItems; System::Collections::IEnumerator^ myEnum = breakfast->GetEnumerator(); while ( myEnum->MoveNext() ) // надо запустить перечисление, // т.к. в выборке м.б. много элементов { ListViewItem^ it = safe_cast<ListViewItem^>(myEnum->Current); String^ s; s=it->Text; this->webBrowser1->Navigate(s); } } // Обработка нажатия клавиши в поле ввода URL-адреса private: System::Void textBox1_KeyDown(System::Object^ sender, System::Windows::Forms::KeyEventArgs^ e) { //завершение ввода по нажатию клавиши <Enter> if(e->KeyCode == Keys::Enter) { // засылка URL this->webBrowser1->Navigate(this->textBox1->Text); } } // Кнопка "Refresh" private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e) { webBrowser1->Refresh(); } // Кнопка "GoForward" private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) { webBrowser1->GoForward(); } // Кнопка "Stop" private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) { webBrowser1->Stop(); } // Кнопка "Выход" private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { Close(); } // Кнопка "GoBack" private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { webBrowser1->GoBack(); }
Результат работы приложения приведен на рисунках 3-5.
Рис.3. Запуск приложения из первой строки окна ListView
Рис.4. Запуск приложения из второй строки окна ListView
Рис.5. Запуск приложения из окна WebBrowser
На следующем шаге мы рассмотрим компонент ListBox.