Свойства и события объектов combobox и webbrowser

Практическая работа по предмету «Программирование»
Информация о работе
  • Тема: Свойства и события объектов combobox и webbrowser
  • Количество скачиваний: 6
  • Тип: Практическая работа
  • Предмет: Программирование
  • Количество страниц: 8
  • Язык работы: Русский язык
  • Дата загрузки: 2020-12-20 06:23:00
  • Размер файла: 325.25 кб
Помогла работа? Поделись ссылкой
Информация о документе

Документ предоставляется как есть, мы не несем ответственности, за правильность представленной в нём информации. Используя информацию для подготовки своей работы необходимо помнить, что текст работы может быть устаревшим, работа может не пройти проверку на заимствования.

Если Вы являетесь автором текста представленного на данной странице и не хотите чтобы он был размешён на нашем сайте напишите об этом перейдя по ссылке: «Правообладателям»

Можно ли скачать документ с работой

Да, скачать документ можно бесплатно, без регистрации перейдя по ссылке:



Свойства и события объектов comboBox и webBrowser

События от клавиатуры.



Создадим браузер для просмотра интернет страниц. Для этого создадим новый проект и расставим объекты так, как показано на рисунке: Panel, 4кнопки Button, label, ComboBox, WebBrowser.





  • свойствах объекта comboBox1 выберем свойство Items и нажав кнопку "Collection", введём несколько строк - адресов популярных WEB сайтов.





Двойным щелчком на кнопке button4 ("Перейти") создадим событие для открытия веб страницы:


private void button4_Click(object sender, EventArgs e)


{

webBrowser1.Navigate("http://" + comboBox1.Text);


}





Адрес веб страницы записывается в строку ввода comboBox1 и имеет свойство Text. Этот текст, в виде адреса вводится пользователем. Для того, чтобы пользователь не набирал лишний раз http:// мы к этой строке прибавляем текст из comboBox1.


Попробуем запустить наш браузер на исполнение и введём в строку ввода например, rambler.ru и нажмём кнопку "Перейти".





Затем, выберем из выпадающего списка, например mail.ru и опять нажмём кнопку "Перейти"







Браузер работает, но возникает одно неудобство - всё время, при вводе интернет адреса приходится нажимать кнопку "Перейти". Создадим такое событие, чтобы при нажатии клавиши "Enter" в строке ввода происходило событие аналогичное кнопке "Перейти".


Для этого выделим comboBox1 и в закладке событий (Events) найдём событие KeyPress.










Двойным щелчком создадим событие и допишем нужные строки:


private void comboBox1_KeyPress(object sender, KeyPressEventArgs e)


{

  • Проверяем нажата ли клавиша Enter (код 13). Аргумент е - код нажатой клавиши if (e.KeyChar.Equals((char)13))

{

  • Если Enter нажат, то вызываем событие нажатия на кнопку "Перейти"

button4_Click(sender,e);

}

}


Теперь, запустив наш браузер и введя адрес сайта, для перехода можно нажимать "Enter".


Осталось задействовать кнопки "<" - вернуться, ">" - вперёд и "0" - обновить. Создадим последовательно события для этих кнопок:


  • Вернуться назад


private void button1_Click(object sender, EventArgs e)

{

webBrowser1.GoBack();

}


  • Перейти вперёд


private void button2_Click(object sender, EventArgs e)

{

webBrowser1.GoForward();

}


  • Обновить данные в браузере


private void button3_Click(object sender, EventArgs e)

{

webBrowser1.Refresh();

}


Теперь браузер работает как полноценное приложение.





Создаём панель закладок.


Для создания панели закладок, добавим на браузере ещё одну кнопку "Закладки" (button5) и панель (panel1).








На панели расставим объекты, как показано на рисунке. Свойство visible панели следует установить в false (панель не будет отображаться при старте программы).


Для хранения закладок создадим файл с именем browser.txt ( в папке Debug  вашего проекта)






Изначально, файл будет пустым. В него следует (открыв в блокноте) записать цифру 0, эта цифра, в дальнейшем будет указывать на число строк в файле. Файл следует сохранить как ... в кодировке UTF-8.


  • нашей программе, для работы с файлами, следует в начале программы добавить директиву: using System.IO;

Для кнопки button5 "Закладки" (двойным щелчком) создадим событие:


private void button5_Click(object sender, EventArgs e);

{

panel1.Visible = true;

button5.Visible = false;

textBox2.Text = comboBox1.Text;

  • Очищаем список от содержимого 

listBox1.Items.Clear();


  • Создаём переменную reader для чтения из файла browser.ini 

using (StreamReader reader = new StreamReader("browser.txt"))

{

  • Считываем первую строку чтобы получить число строк в списке 

string z = reader.ReadLine();

//В цикле считываем остальные строки из файла for (int j = 0; j < Convert.ToDouble(z); j++) listBox1.Items.Add(reader.ReadLine());

}

}


Создадим ещё одно событие на кнопку закрытия панели закладок:


//Закрыть панель закладок

private void button8_Click(object sender, EventArgs e)

{

panel1.Visible = false;

button5.Visible = true;

}


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






Создадим событие на кнопку "Добавить", так что бы имя и адрес сайта добавлялись в список. Сразу же сохраняем полученный новый список в файле.




//Добавить адрес в список listBox1


private void button6_Click(object sender, EventArgs e)

{

//Добавляем в список адрес и комментарий

//Символ вертикальная черта будет в последующем использоваться //как разделитель комментария и адреса сайта listBox1.Items.Add(textBox1.Text + "|" + textBox2.Text);


  • Создаём переменную sw для записи данных в поток (файл) using (StreamWriter sw = new StreamWriter("browser.txt "))


{

  • Первой строкой записываем в файл число строк в нашем списке sw.WriteLine(listBox1.Items.Count.ToString());
  • В цикле записываем все строки в файл.
  • Count - число строк в списке

for (int j = 0; j < listBox1.Items.Count; j++)

sw.WriteLine(listBox1.Items[j]);

}

}


Запустим наше приложение и добавим несколько адресов в список закладок.






Закроем панель закладок, а затем откроем вновь, чтобы убедиться, что добавленные закладки сохранились в файле.


Далее, создадим событие двойного щелчка на выбранной строке списка закладок. Из строки выделим адрес сайта и поместим адрес в адресную строку.


//Двойной щелчок на списке


private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)

{

string str = listBox1.SelectedItem.ToString();

string newstr = "";

int flag = 0; //flag определяет разделитель |

char c;

int k = str.Length;

//Выделяем из строки адрес сайта





for (int j = 0; j < k; j++)


{

c = str[j];

if (flag != 0) newstr += c;

if (c == '|') flag = 1;

}


//Подставляем в адресную строку адрес сайта

comboBox1.Text = newstr;

}

}


Запустим программу и убедимся, что при двойном щелчке на списке закладок, адрес выбранного сайта помещается в адресную строку.








И, наконец, создадим событие для кнопки "Удалить закладку".


//Удаление ненужной строки (закладки)

private void button7_Click(object sender, EventArgs e)

{

  • Проверяем, есть ли в списке выделенная строка

if (listBox1.SelectedIndex == -1)

  • Если нет, то выводим сообщение.

MessageBox.Show("Нет выделенной строки");

else


  • Иначе .. Удаляем выделенную строку listBox1.Items.RemoveAt(listBox1.SelectedIndex); //Сохраняем новый список в файле


using (StreamWriter sw = new StreamWriter("browser.txt"))

{

sw.WriteLine(listBox1.Items.Count.ToString());

for (int j = 0; j < listBox1.Items.Count; j++) sw.WriteLine(listBox1.Items[j]);


}

}

Задание.

Отработать предложенный проект.

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