Оговорюсь сразу что писать с нуля этот браузер мы не будем,наш браузер будет работать на движке IE,поэтому про его быстродействие можно и не думать :)
Итак заходим в VS C# и выбираем создать новый проект Windows Forms
Появившеюся форму можно растягивать как хотим,что мы и сделаем дабы увеличить наше окошко.
1.Далее из ToolBox-а выбираем и перетаскиваем на форму элемент управления WebBrouser.
Если у вас WebBrouser занял как у меня всё место на форме то жмём на треугольничке в правом верхнем углу левой кнопкой мыши -> Unlock in Parent Container,получили форму вида.
Если же пред вами веб браузер предстал в таком виде как на скрине ниже,то ничего не делайте.
2.Следующий шаг это перетащить с тулбокса(ToolBox) на нашу форму текстбокс(textbox)
3.Поместим её вверхней части экрана.Далее кликаем правой кнопкой мыши на текстбоксе и вызываем свойства(properties) находим свойство Dock и устанавливаем его значение в Top.
4.Далее вспоминаем как мы делали шаг №1,и кликаем на треугольничке на элементе управления веббраузер(WebBrouser) и жмём Dock in Parent Container.
Теперь наша форма приняла вид:
По умолчанию Visual Studio дало текстбоксу и веббраузеру имена textBox1 webBrouser1,хорошим стилем программирования считается менять такие имена на более понятные,то есть имя textBox1 не несёт в себе никакого смысла,вот если я изменю это имя на textBoxUrl,то любой человек догадается что этот текстбокс предназначен для введения веб адреса.Также свойство Text элемента управления textBoxUrl я изменил с значения пустой строки на фразу Enter web adress,для того чтобы даже самый несмышлённый пользователь понял что в это поле нужно ввести название веб адреса.
Имя webBrouser1 я поменял на webBrouser,как по мне поскольку у нас будет использоваться только один элемент управления то индекс 1 можно и убрать.
Скрины приведены ниже:
Пока что наш браузер будет выполнять только одну функцию: после того как пользователь ввёл веб адрес и нажал на клавишу "Enter" браузер загрузит выбранную пользователем страницу.
5.Заходим в свойства текстбокса и переключаемся в роздел Events(события)
6.Находим в списке событий KeyDown и кликаем в поле напротив него два раза.
Получили сгенерированный вижуал студией код:
Вот этот код:
private void textBoxUrl_KeyDown(object sender, KeyEventArgs e)
{
}
итак все мы знаем что в C# базовым для всех классов выступает класс object,и собственно наш параметр sender представляет объект представляющий событие,а второй параметр e который имеет тип KeyEventArgs описывает это событие,то есть при помощи параметра е мы будем узнавать какая клавиша нажата когда выделен элемент текстбокс.
теперь в данный прописываем такой код:
- if (e.KeyCode.ToString() == "Return") //если нажатая клавиша enter
- webBrowser.Navigate(@"http://www." + textBoxUrl.Text);/* //то предаём методу Navigate нашего елемента управления webBrowser
- //метод Navigate принимает строку - адрес веб сайта. также для того что бы постоянно не писать http://www. мы добавляем
- // его к каждому адресу введённому в текст бокс символ @ перед строкой означает что в этой строке не будут искатся escape
- //последовательности,а это значит что "//" ,восприниматся как двойной слеш,а не как одинарный(см. scape последовательности в С#) */
* This source code was highlighted with Source Code Highlighter.7.Теперь проnестируем наш браузер попробуем перейти на Google.com
Скрины представлены ниже
как видите сайт нормально показывается как при естественном размере нашей формы,так и при разворачивании окна браузера на весь экран.
8.Последнее что мы сегодня сделаем это добавим в наш браузер главное меню,которое будет содержать в себе два пункта: File-> Exit и About - > About Brouser.
Для этого перетаскиваем из toolbox-a MenuStrip,в появившемся сверху поле вводим File,ниже в появившемся поле вводим Exit жмём на Exit двойным кликом,в появившемся методо прописываем this.Close();
То есть получилось вот что:
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
Далее с About поступаем точно также код метода приведён ниже:
private void aboutBrouserToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("My Web Brouser","About");
}
Как работать с элементом управления MenuStrip можно увидеть в этом видео:
С классом MessegeBox я думаю вы тоже разберётесь сами.
Собственно наш браузер теперь выглядит так:Сам браузер обрёл меню и при нажатии на File-> Exit программа завершает свою работу,а при нажатии About - > About Brouser мы видим маленькое окошко с текстом "My Web Brouser" и заголовком окошка "About".
Спасибо за внимание.В следующий раз мы добавим toolbar и statusbar нашему браузеру,
а также реализуем функции вперёд,назад и обновить для нашего браузера.
Спасибо за внимание,до встреч!
















